6_opencv重点 -- 色彩空间 # 一.色彩空间 RGB:人眼的色彩空间 OpenCv默认的是BGR HSV即: Hue:色相,即色彩,如红色,蓝色 Saturation: 饱和度,颜色的纯度 Value:明度 HSL即: Hue:色相,即色彩,如红色,蓝色 Saturation: 饱和度,颜色的纯度 Lightness:亮度 两者图示: ![img_1.png](img_1.png) YUV主要作用于视频,HSV主要用在opencv中,RGB,BGR主要用在显示器硬件中。 # 二.色彩空间的转换 cvt_img = cv.cvtColor(src,code) scr是原始输入图像,code是色彩空间转换码, 关于转换码的参数可在此文档查询: 色彩空间转换码 # 三.示例代码:
import cv2 as cv
def callback():
pass
cv.namedWindow('color',cv.WINDOW_NORMAL)
img = cv.imread('./img/img.png')
# 设置转换空间选项,如下有五种可选择转换的方式
colorspaces = [cv.COLOR_BGR2RGBA, cv.COLOR_BGR2BGRA,
cv.COLOR_BGR2GRAY, cv.COLOR_BGR2HSV_FULL,cv.COLOR_BGR2YUV]
cv.createTrackbar('curColor','color',0,4,callback)
while True:
index = cv.getTrackbarPos('curColor','color')
# 颜色空间转换API
cvt_img = cv.cvtColor(img,colorspaces[index])
cv.imshow('color',cvt_img)
key = cv.waitKey(1)
if key & 0xFF == ord('q'):
break
cv.destroyAllWindows()