OpenCV中有数百种关于在不同色彩空间之间的转换的方法。当前,计算机视觉中有三种常用的色彩空间:灰度、BGR以及HSV(Hue,Saturation,Value)。
- 灰度色彩空间是通过去除彩色信息来将其转换成灰阶,灰度色彩空间对中间处理特别有效,比如人脸检测。
- BGR,即蓝-绿-红色彩空间,每一个像素点都由一个三元数组来表示,分别代表蓝、绿、红三种颜色。另一个与之相似的颜色空间:RGB,它们只是在颜色的顺序上不同。
- HSV, H(Hue)是色调,S(Saturation)是饱和度,V(Value)表示黑暗的程度(或光谱的另一端的明亮程度)
下面看一下OpenCV色彩空间代码实现以及展示的效果图:
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
import cv2 as cv
def color_space(image):
gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY) #灰度图
cv.imshow("gray", gray)
hsv = cv.cvtColor(image, cv.COLOR_BGR2