前言
基础知识
- H:色调(Hue)
- S:饱和度(Saturation)
- V:亮度(Value)
1. 色调H
在HSV色彩空间中,色调H的取值范围是[0,360]。8位图像内每个像素点所能表示的灰度级有256个,所以在8位图像内表示HSV图像时,要把色调的角度映射到[0,255]范围内。在OpenCV中,可以直接把色调的角度值除以2,得到[0,180]之间的值,以适应8位二进制的存储和表示范围。
色调值 | 颜色 |
---|---|
0 | 红色 |
30 | 黄色 |
60 | 绿色 |
90 | 青色 |
120 | 蓝色 |
150 | 品红色 |
2. 饱和度S
- 灰度颜色所包含R、G、B的成分是相当的,相当于一种极不饱和的颜色。所以,灰度颜色的饱和度是0。
- 作为灰度图像显示时,较亮区域对应的颜色具有较高的饱和度。
- 如果颜色的饱和度很低,那么它计算所得色调就不可靠。
3. 亮度
举例
import cv2
import numpy as np
#=========测试下OpenCV中蓝色的HSV模式值=============
imgBlue=np.zeros([1,1,3],dtype=np.uint8)
imgBlue[0,0,0]=255
Blue=imgBlue
BlueHSV=cv2.cvtColor(Blue,cv2.COLOR_BGR2HSV)
print("Blue=\n",Blue)
print("BlueHSV=\n",BlueHSV)
#=========测试下OpenCV中绿色的HSV模式值=============
imgGreen=np.zeros([1,1,3],dtype=np.uint8)
imgGreen[0,0,1]=255
Green=imgGreen
GreenHSV=cv2.cvtColor(Green,cv2.COLOR_BGR2HSV)
print("Green=\n",Green)
print("GreenHSV=\n",GreenHSV)
#=========测试下OpenCV中红色的HSV模式值=============
imgRed=np.zeros([1,1,3],dtype=np.uint8)
imgRed[0,0,2]=255
Red=imgRed
RedHSV=cv2.cvtColor(Red,cv2.COLOR_BGR2HSV)
print("Red=\n",Red)
print("RedHSV=\n",RedHSV)
评论(0)
您还未登录,请登录后发表或查看评论