码迷,mamicode.com
首页 > 其他好文 > 详细

Open_CV 色彩空间

时间:2020-02-28 14:14:48      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:src   ide   就是   组成   基本   eal   自身   upper   一个   

色彩空间:

颜色空间按照基本结构可以分两大类:基色颜色空间 和 色、亮分离颜色空间。前者的典型是 RGB,还包括 CMY、CMYK、CIE XYZ 等;后者包括 YCC/YUV、Lab、以及一批“色相类颜色空间”。CIE XYZ 是定义一切颜色空间的基准,很奇妙的是,它即属于基色颜色空间,也属于色、亮分离颜色空间,是贯穿两者的枢纽。色、亮分离颜色空间中的子类型“色相类颜色空间”,是把颜色分成一个表亮属性,和两个表色属性,其中有一个表色属性是色相,而色相以外的两个属性可以选用不同的变量来定义,而色相的概念不变,因此就构成一族共同使用色相属性,另加表亮属性和表色属性各一个组成的颜色空间,它们是颜色空间中的一个家族,暂且统称为 HSB 颜色空间。

RGB和CMY颜色模型都是面向硬件的,而HSV(HueSaturation Value)颜色模型是面向用户的。
补充:
色光三原色 RGB:吸收俩种,反射自身颜色;在屏幕上显示的图像,就是RGB模式表现的
色料三原色CMY:反射两种,吸收一种颜色;在印刷品上看到的图像,就是CMYK模式表现的
较为详细的笔记:参考以下链接

https://blog.csdn.net/ABigDeal/article/details/84836269

色彩空间转换:

import cv2 as cv

src = cv.imread("./01.jpg")
def color_space(image):  #色彩空间转换API
    """
    将RGB的图像转换成其他类型
    :param image:
    :return:
    """
    gray = cv.cvtColor(image,cv.COLOR_BGR2GRAY)
    cv.imshow("gray",gray)
    hsv = cv.cvtColor(image,cv.COLOR_BGR2HSV)   # h 0-180 s 0-255 v 0-255
    cv.imshow("hsv",hsv)
    yuv = cv.cvtColor(image,cv.COLOR_BGR2YUV)
    cv.imshow("yuv",yuv)
    ycrcb = cv.cvtColor(image,cv.COLOR_BGR2YCrCb)
    cv.imshow("ycrcb",ycrcb)
 

 技术图片

 

inRange

def extrace_object():
    """
    capture: 视频文件对象
    ret: 返回结果,True为视频还存在,False表示视频读取完成了
    frame: 帧数
    :return:
    """

    capture = cv.VideoCapture("./wqz.mp4")
    while 1:
        ret , frame = capture.read()
        if ret == False:
            break
        hsv = cv.cvtColor(frame,cv.COLOR_BGR2HSV)
        lower_hsv = np.array([100,43,46])
        upper_hsv = np.array([124,255,255])
        mask = cv.inRange(hsv,lowerb=lower_hsv,upperb=upper_hsv) #过滤出蓝色
        cv.imshow("video",frame)
        cv.imshow("mask",mask)
        c = cv.waitKey(40)
        if c == 27:
            break

 效果:

 技术图片

 

 通道分离:

src = cv.imread("./01.jpg")
cv.imshow("input_img",src)
r , g , b = cv.split(src)  #通道分离
cv.imshow("red",r)
cv.imshow("green",g)
cv.imshow("blue",b)

技术图片

 

 通道合并:

src = cv.imread("./01.jpg")
cv.imshow("input_img",src)
r , g , b = cv.split(src)  #通道分离
src = cv.merge([r,g,b]) #通道合并
cv.imshow(",merge",src)
cv.waitKey(0)
cv.destroyAllWindows() 

技术图片

 

Open_CV 色彩空间

标签:src   ide   就是   组成   基本   eal   自身   upper   一个   

原文地址:https://www.cnblogs.com/wqzn/p/12376732.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!