不同色彩空间中,颜色的表示方法有所不同,但不同色彩空间之间可根据公式进行转换。本小节简单介绍RGB色彩空间中图像的表示方法。
RGB中的R指红色(Red),G指绿色(Green),B指蓝色(Blue)。
在表示图像时,有R、G和B 3个通道,分别对应红色、绿色和蓝色。
每个通道中像素的取值范围为[0,255],用3个通道的像素组合表示彩色图像。
RGB色彩空间中颜色通道依次为R、G、B,但OpenCV默认的图像格式为BGR,即颜色通道依次为B、G、R。
操作彩色图像
创建一幅彩色图像,图像的上、中、下3个部分依次为蓝色、绿色和红色
程序每隔1秒轮换3个部分的颜色
import cv2
import numpy
img=numpy.zeros((240,320,3),dtype=numpy.uint8) #创建图像
r0=0
r1=1
r2=2
while True:
img[:80,:,r0]=255 #通道r0,将上部1/3颜色值设为255
img[80:160,:,r1]=255 #通道r1,将中部1/3颜色值设为255
img[160:,:,r2]=255 #通道r2,将下部1/3颜色值设为255
cv2.imshow('ColorImg',img)
key=cv2.waitKey(1000) #延迟1秒
img[:,:,:]=0 #像素全部置0
t=r0 #轮换通道序号
r0=r1
r1=r2
r2=t
if key==27:
break #按【Esc】键结束