Opencv Python 简明教程
OpenCV Python - Color Spaces
色彩空间是一个数学模型,描述了如何表示颜色。它在特定的、可测量的、固定的可能颜色和亮度值范围内描述了颜色。
OpenCV 支持以下知名的色彩空间 −
-
RGB Color space − 它是一种加色空间。通过组合红色、绿色和蓝色色彩值来获取颜色值。每个值由介于 0 到 255 之间的一个数字表示。
-
HSV color space − H、S 和 V 分别代表色相、饱和度和明度。这是一种替代 RGB 的色彩模型。该模型应该更接近人眼感知颜色的方式。色相值在 0 到 179 之间,而 S 和 V 值在 0 到 255 之间。
-
CMYK color space − 与 RGB 不同,CMYK 是一种减色模型。字母分别代表青色、品红色、黄色和黑色。白色光减去红色得到青色,白色减去绿色得到品红色,白色减去蓝色得到黄色。所有值都以 0 到 100% 的比例表示。
-
CIELAB color space − LAB 色彩空间有三个分量,分别是代表亮度的 L、从绿色到洋红色的颜色分量 A 和从蓝色到黄色的分量 B。
-
YCrCb color space − 在此处,Cr 代表 R-Y,Cb 代表 B-Y。这有助于将亮度从色度分离到不同的通道中。
OpenCV 支持使用 cv2.cvtColor() 函数在色域之间转换图像。
cv2.cvtColor() 函数的命令如下 −
cv.cvtColor(src, code, dst)
Conversion Codes
转换受以下预定义的转换代码控制。
Sr.No. |
Conversion Code & Function |
1 |
cv.COLOR_BGR2BGRA 向 RGB 或 BGR 图像添加 Alpha 通道。 |
2 |
cv.COLOR_BGRA2BGR 从 RGB 或 BGR 图像中移除 Alpha 通道。 |
3 |
cv.COLOR_BGR2GRAY 在 RGB/BGR 和灰度之间转换。 |
4 |
cv.COLOR_BGR2YCrCb Convert RGB/BGR to luma-chroma |
5 |
cv.COLOR_BGR2HSV Convert RGB/BGR to HSV |
6 |
cv.COLOR_BGR2Lab 将 RGB/BGR 转换为 CIE Lab |
7 |
cv.COLOR_HSV2BGR 后退转换 HSV 到 RGB/BGR |