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