其他分享
首页 > 其他分享> > 二、图像数字化基础-2.色彩空间

二、图像数字化基础-2.色彩空间

作者:互联网

import cv2 as cv

"""
色彩空间:
    常见的两种色彩空间:GRAY色彩空间 和 HSV色彩空间
"""

# 1.GRAY色彩空间
"""
GRAY色彩空间:
    通常指的是灰度图像,灰度图像是一种将每个像素都是从黑到白,被处理为256个灰度级别的单色图像。
    这256个灰度界别分别用区间[0,255]中的数值表示。
    其中,0表示纯黑色,255表示纯白色,0~255之间的数值表示不同亮度(即色彩的深浅程度)的深灰色或者浅灰色
"""
# 1.1-从RGB/BGR色彩空间转换到GRAY色彩空间
"""
dst = cv2.cvtColor(src,code)
    作用:转换图像的色彩空间
    参数:
        dst:    转换后的图像
        src:    转换前的初始图像
        code:   色彩空间转换码,这里用到的是cv2.COLOR_BGR2GRAY或cv2.COLOR_RGB2GRAY
"""
image = cv.imread('./ImgFile/Conan.jpg')
cv.imshow('Cocan', image)
gray_image = cv.cvtColor(image, cv.COLOR_BGR2GRAY)  # 将图片从BGR色彩空间转换为GRAY色彩空间
cv.imshow('grayImage', gray_image)
cv.waitKey()
cv.destroyAllWindows()
"""
注意:
    虽然色彩空间类型转换是双向的,而且OpenCV也提供了cv2.COLOR_GRAY2GBGR和cv2.COLOR_BGR2GRAY这两个
    色彩空间转换码,但是灰度图像是无法转换成彩色图像的。这是因为在彩色图像转换成灰度图像的过程中,丢失了颜色
    比例,这些颜色比例一旦丢失,就再也找不回来了
"""

# 2.HSV色彩空间
"""
BGR色彩空间是基于三基色而言的,即蓝色、绿色和红色。而HSV色彩空间则是基于色调、饱和度、亮度而言的
    色调:指光的颜色。在OpenCV中,色调在区间[0,180]内取值,其中红色、黄色、绿色、蓝色的色调值分别为0/30/60/120
    饱和度:指色彩的深浅。在OpenCV中,饱和度在区间[0,255]内取值,当饱和度为0时,图像将变为灰度图像
    亮度:指光的明暗。与饱和度相同,在OpenCV中,亮度在区间[0,255]内取值。亮度值越大,图像越亮;当亮度值为0时,图像呈现纯黑色
"""

# 2.1-从BGR/RGB色彩空间转换到HSV色彩空间
"""
dst = cv2.cvtColor(src,code)
    作用:转换图像的色彩空间
    参数:
        dst:    转换后的图像
        src:    转换前的初始图像
        code:   色彩空间转换码,这里用到的是cv2.COLOR_BGR2HSV或cv2.COLOR_RGB2HSV
"""
image_1 = cv.imread('./ImgFile/Conan.jpg')
cv.imshow('Conan_1', image_1)
hsv_image = cv.cvtColor(image_1, cv.COLOR_BGR2HSV)
cv.imshow('hscConan', hsv_image)
cv.waitKey()
cv.destroyAllWindows()

标签:数字化,image,cv2,色彩,图像,空间,cv
来源: https://blog.csdn.net/Zhong_Er_Bing/article/details/123099806