4.1 类型转换

 

 

 

图像类型转换就是把图像从一种类型转换成另一种类型。

opencv提供了200多种类型转换。我们这次学三个。

 

类型有:

cv2.COLOR_BGR2GRAY      //彩色图像转灰度图像

cv2.COLOR_BGR2RGB        //BGR转RGB

cv2.COLOR_GRAY2BGR      //灰度转彩色

 

使用方法:

b = cv2.cvtColor(a, cv2.COLOR_BGR2GRAY)         //a是图像源,第二个参数是类型。【例1】

b = cv2.cvtColor(a, cv2.COLOR_BGR2RGB)           //【例2】

b = cv2.cvtColor(a, cv2.COLOR_GRAY2BGR)         //【例3】

 

 

 

 

例1:彩色图像转灰度图像

'''
图像转换
'''

import cv2

image = cv2.imread("image\\lenacolor.png")

 

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

 

cv2.imshow("image", image)
cv2.imshow("gray", gray)

 

cv2.waitKey()
cv2.destroyAllWindows()

 

结果:

4.1 类型转换

 

 

 

 

 

例2:彩色图像转换成rgb图像

'''
图像转换
'''

 

import cv2

image = cv2.imread("image\\lenacolor.png")

rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)    #彩色图像转换成rgb图像


r,g,b = cv2.split(rgb)                               #把rgb三个通道分离出来,然后合并一下看看是不是确实转成了rgb三个通道
result = cv2.merge([b,g,r])                     #合并

 

cv2.imshow("image", image)
cv2.imshow("rgb", rgb)
cv2.imshow("merge",result)                      #如果得到了原图,说明确实转成了rgb图像。

 

cv2.waitKey()
cv2.destroyAllWindows()

 

结果:

4.1 类型转换

 

 

例3:灰度转彩色

'''
图像转换
'''

import cv2

image = cv2.imread("image\\lena256.bmp",cv2.IMREAD_UNCHANGED)

 

result = cv2.cvtColor(image, cv2.COLOR_GRAY2BGR)                                #灰度转彩色图像


print(image.shape)
print(result.shape)

 

cv2.imshow("image", image)
cv2.imshow("result", result)

cv2.waitKey()
cv2.destroyAllWindows()

 

结果:

4.1 类型转换

4.1 类型转换

 

可以发现result,是3个通道的图像。