OpenCV

desaturation

728x90
import cv2
import numpy as np

img = cv2.imread("data/images/capsicum.jpg", 1)

cv2.imshow('Original', img)


#채도
saturationScale = 0.01

hsvImage = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
hsvImage = np.float32(hsvImage)

#채널로 분리하는 함수
H,S,V = cv2.split(hsvImage)

#유용한 함수. cv2.clip함수를 이용하여 0보다 작으면 0으로,
#255보다 크면 255로 맞추도록 할 수 있다.
S = np.clip(S*saturationScale, 0,255)

#나눈 채널을 하나로 합치는 함수
hsvImage = cv2.merge( [H,S,V] )

#float으로 작업했기에 uint8로 변환
hsvImage = np.uint8(hsvImage)

#BGR로 변환하여 확인
imgBGR = cv2.cvtColor(hsvImage, cv2.COLOR_HSV2BGR)

cv2.imshow('cvt bgr', imgBGR)
cv2.waitKey(0)
cv2.destroyAllWindows()

728x90

'OpenCV' 카테고리의 다른 글

brightness 밝기 조절  (0) 2021.04.20
Color Transfer 필터 입히기  (0) 2021.04.20
hueHistogram  (0) 2021.04.20
virtual Bilbord(빌보드 전광판 사진 바꾸기)  (0) 2021.04.20
perspective Correction(클릭해서 이미지 추출)  (0) 2021.04.20