目录
1. RGB 和 BGR
最常见的彩色空间是RGB,人眼就是基于RGB的色彩空间去观察颜色
opencv 里面默认使用的是BGR
两者的区别:图片在色彩通道上的排列顺序不同
2. HSV、HSL、YUV
2.1 HSV(HSB)
Hue:色相、颜色
Saturation:饱和度———某种颜色和白色混合,某种颜色的占的比例、纯度
Value:值(Brightness 亮度)
使用HSV是为了方便opencv做图像处理,比如可以根据Hue色相的值判断背景颜色
2.2 HSL
HSL 和 HSV 差不多
- Hue :HSL和HSV是一样的
2.3 YUV
3. 色彩空间的转换
- cvColor():convert color 转换颜色
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()
效果展示:
文章出处登录后可见!
已经登录?立即刷新