cv2.cvtColor()是OpenCV中的一个函数,用于将图像从一个颜色空间转换为另一个颜色空间。这个函数接受两个参数:输入图像和转换类型。转换类型总共有三百多种,常用的转换类型包括:
- cv2.COLOR_BGR2GRAY:将BGR图像转换为灰度图像
- cv2.COLOR_BGR2RGB:将BGR图像转换为RGB图像
- cv2.COLOR_BGR2HSV:将BGR图像转换为HSV图像
- cv2.COLOR_GRAY2BGR:将灰度图像转换为BGR图像
一、将BGR转换成灰度图像
import cv2
img1 = cv2.imread("./1-1.jpg", cv2.IMREAD_UNCHANGED)
img2 = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY)
cv2.imshow("img-1", img1)
cv2.imshow("img-2", img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行效果:
二、将BGR转换成RGB
import cv2
img1 = cv2.imread("./1-1.jpg", cv2.IMREAD_UNCHANGED)
img2 = cv2.cvtColor(img1, cv2.COLOR_BGR2RGB)
cv2.imshow("img-1", img1)
cv2.imshow("img-2", img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
三、将灰色图像转换成BGR
import cv2
img1 = cv2.imread("./1-gray.bmp", cv2.IMREAD_UNCHANGED)
img2 = cv2.cvtColor(img1, cv2.COLOR_GRAY2BGR)
cv2.imshow("img-1", img1)
cv2.imshow("img-2", img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
灰度图像转换成BGR图像,从图片上来看是看不出区别的,那么我们可以通过shape获取图片的属性.
import cv2
img1 = cv2.imread("./1-gray.bmp", cv2.IMREAD_UNCHANGED)
print(img1.shape)
img2 = cv2.cvtColor(img1, cv2.COLOR_GRAY2BGR)
print(img2.shape)
cv2.imshow("img-1", img1)
cv2.imshow("img-2", img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果:
E:\python\opencv\venv\Scripts\python.exe E:\python\opencv\main.py
(325, 520)
(325, 520, 3)
第一个是灰度图像的属性,只有行和列,第二个是转换后的,就包含了三个通道.