天天看點

HSV色彩模型

HSV顔色模型

Hue:色調,取值範圍為0°~360°,紅色為0°,綠色為120°,藍色為240°

Saturation:飽和度,取值0%~100%,越大顔色越豔麗。

Value:明度,0%(黑)到100%(白),越小越黑。

加入黑色可減小V而S不變。

加入白色可減小S而V不變。

形象圖:

HSV色彩模型

Python顔色模型轉換 PIL cv2實作:

from PIL import Image
img = Image.open('test.jpg')

img_hsv = img.convert("HSV")
img_rgb = img_hsv.convert("RGB")

np.array(img)[256][256]
>>> array([250, 198,  37], dtype=uint8)  # RGB
np.array(img_hsv)[256][256]
>>> array([ 32, 217, 250], dtype=uint8)

import cv2
cv_img = cv2.imread(r'D:\workspace\data\hdr\jpg_patch\9_00014.jpg')
cv_img_hsv = cv2.cvtColor(cv_img, cv2.COLOR_BGR2HSV)
cv_img[256][256]
>>> array([ 37, 198, 250], dtype=uint8)  # BGR
cv_img_hsv[256][256]
>>> array([ 23, 217, 250], dtype=uint8)  # 注意,與PIL轉換後的色彩值存在差異
           

繼續閱讀