logo
Loading...

修改影像飽和度問題 - Cupoy

# 為了要改變飽和度,我們先把 color space 轉成 HSL 格式 (OpenCV 表示順序...

cvdl-1,cvdl-1-d03

修改影像飽和度問題

2019/11/19 06:33 下午
電腦視覺深度學習討論版
許義翔
觀看數:2
回答數:1
收藏數:2
cvdl-1
cvdl-1-d03

# 為了要改變飽和度,我們先把 color space 轉成 HSL 格式 (OpenCV 表示順序是 HLS,只有 HSL 格式有差異)
img_hls = cv2.cvtColor(img, cv2.COLOR_BGR2HLS)

# 這裡設置 Saturation 的兩成
change_percentage = 0.2

# 針對飽和度的值做改變,超過界線 0~1 的都會 bound
# 在 HLS color space 減 2 成少飽和度
# float32 轉換成百分比(小數點)
img_hls_down = img_hls.astype('float32')
img_hls_down[..., -1] = img_hls_down[..., -1]/255 - change_percentage
img_hls_down[img_hls_down[..., -1] < 0] = 0
img_hls_down[..., -1] = img_hls_down[..., -1]*255
img_hls_down = img_hls_down.astype('uint8')

# 在 HLS color space 增加 2 成飽和度
img_hls_up = img_hls.astype('float32')
img_hls_up[..., -1] = img_hls_up[..., -1]/255 + change_percentage
img_hls_up[img_hls_up[..., -1] > 1] = 1
img_hls_up[..., -1] = img_hls_up[..., -1]*255
img_hls_up = img_hls_up.astype('uint8')

想請教一下,change_percentage 指的是在這個範例中想要取得的值是 Saturation 的兩成,對嗎?


而 img_hls_down[..., -1],其中 -1 指的是什麼?

img_hls_down[img_hls_down[..., -1] < 0] = 0,我也不太能理解這是什麼意思?謝謝!