# -*- coding: utf-8 -*-
# @Time : 2021/7/16
# @Author : ZYh
"""
Introduction:
1.彩色图像 是一种每个像素都是由红绿蓝三种不同颜色以不同的比例混合而成的图像
2.色彩空间类型转换: 同一幅图像可从一个色彩空间转换到另一个色彩空间
3.另外两个色彩空间:GRAY HSV
3.1 GRAY: 通常指灰度图像,灰度级别用区间[0,255]中数值表示
BGR转换到GRAY 调用cvtColor()方法
dst = cv2.cvColor(src, code)
dst:转换后的图像
src:转换前的图像
code:色彩空间转换码(cv2.COLOR_BGR2GRAY or cv2.COLOR_RGB2GRAY)
注:灰度图像无法转换成彩色图像,原因:
彩色转灰度过程中丢失了颜色间混合比例,一旦丢失,无法找回
3.2 HSV: 基于色调(Hue)、饱和度(Saturation)和亮度(Value)而言
色调[0, 180]: 红色(0)黄色(30)绿色(60)蓝色(120)
饱和度[0,255]: 色彩的深浅
亮度[0,255]: 数值越大,图象越亮
RGB/BGR转换到HSV方法:
dst = cv2.cvColor(src, code)
转换码:cv2.COLOR_BGR2HSV or cv2.COLOR_RGB2HSV
"""
# BGR色彩空间转到GRAY色彩空间
import cv2 as cv
# 图片路径
image_path = "2.1.jpg"
# 加载图片
image_BGR = cv.imread(image_path)
# BGR窗口展示
cv.imshow("BGR", image_BGR)
# 从BGR色彩空间转换到HSV色彩空间
gray_image = cv.cvtColor(image_BGR, cv.COLOR_BGR2GRAY)
# 保存图片到"E:/Pictures"目录下
cv.imwrite("E:/Pictures/2.jpg", gray_image)
# GRAY窗口展示
cv.imshow("GRAY", gray_image)
image_HSV = cv.cvtColor(image_BGR, cv.COLOR_HSV2BGR)
cv.imshow("HSV", image_HSV)
# 设置延时
cv.waitKey()
# 销毁窗口
cv.destroyAllWindows()
运行结果如图: