目录
最常见的彩色空间是RGB,人眼就是基于RGB的色彩空间去观察颜色
opencv 里面默认使用的是BGR
两者的区别:图片在色彩通道上的排列顺序不同
Hue:色相、颜色
Saturation:饱和度---------某种颜色和白色混合,某种颜色的占的比例、纯度
Value:值(Brightness 亮度)

使用HSV是为了方便opencv做图像处理,比如可以根据Hue色相的值判断背景颜色

HSL 和 HSV 差不多

- Hue :HSL和HSV是一样的
![]()

- import cv2
- def callback(value):
- pass
-
- cv2.namedWindow('color',cv2.WINDOW_NORMAL)
- cv2.resizeWindow('color',640,480)
-
- img = cv2.imread('./a.jpg')
- # 定义颜色空间转换列表
- colorspaces = [
- cv2.COLOR_BGR2RGBA,cv2.COLOR_BGR2GRAY,cv2.COLOR_BGR2BGRA,
- cv2.COLOR_BGR2HSV,cv2.COLOR_BGR2YUV
- ]
- cv2.createTrackbar('trackbar','color',0,4,callback)
-
- while True:
- index = cv2.getTrackbarPos('trackbar','color')
-
- cvt_img = cv2.cvtColor(img,colorspaces[index])
- cv2.imshow('color',cvt_img)
- key = cv2.waitKey(10)
- if key==ord('q'):
- break
- cv2.destroyAllWindows()
效果展示:




