opencv的色彩空间

目录

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()

 效果展示:

 

 

 

 

 

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2022年5月22日
下一篇 2022年5月22日

相关推荐