opencv的色彩空间

目录

1. RGB 和 BGR

2. HSV、HSL、YUV

2.1 HSV(HSB)

2.2 HSL

2.3 YUV

3. 色彩空间的转换


1. RGB 和 BGR

最常见的彩色空间是RGB,人眼就是基于RGB的色彩空间去观察颜色

opencv 里面默认使用的是BGR

两者的区别:图片在色彩通道上的排列顺序不同

2. HSV、HSL、YUV

2.1 HSV(HSB)

Hue:色相、颜色

Saturation:饱和度---------某种颜色和白色混合,某种颜色的占的比例、纯度

Value:值(Brightness 亮度)

opencv的色彩空间_第1张图片

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

opencv的色彩空间_第2张图片

2.2 HSL

HSL 和 HSV 差不多

opencv的色彩空间_第3张图片 

opencv的色彩空间_第4张图片

  • Hue :HSL和HSV是一样的

opencv的色彩空间_第5张图片

opencv的色彩空间_第6张图片 

2.3 YUV

opencv的色彩空间_第7张图片

 

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

 效果展示:

opencv的色彩空间_第8张图片

 opencv的色彩空间_第9张图片opencv的色彩空间_第10张图片opencv的色彩空间_第11张图片opencv的色彩空间_第12张图片

 

 

 

 

你可能感兴趣的:(opencv,opencv)