HSV顔色模型
Hue:色調,取值範圍為0°~360°,紅色為0°,綠色為120°,藍色為240°
Saturation:飽和度,取值0%~100%,越大顔色越豔麗。
Value:明度,0%(黑)到100%(白),越小越黑。
加入黑色可減小V而S不變。
加入白色可減小S而V不變。
形象圖:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL0cTZ4YGO5YzMjJDMidDZ5MTM0QTMmhDZ2MWYwQzM3M2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
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轉換後的色彩值存在差異