카테고리 없음
[Python][OpenCV] 이미지 열고 명암비 조절 후 저장하기 - 평균 밝기를 기준으로
miiinn
2022. 10. 13. 15:27
🔎 문제
sample.jpg 파일에 대해서 이미지의 평균 밝기를 기준으로 하여 명암비를 조절한 결과를 contrast.jpg로 저장하세요.
* 명암비 조절 시 원본의 pixel 값에 일정한 값을 곱하는 형태로 하되, 계수는 2.0을 사용해주세요.
* 결과 저장 시 saturation 연산을 적용해주세요.
import cv2 as cv
def contrast():
img2 = cv.imread('sample.jpg', cv.IMREAD_GRAYSCALE) # 이미지 파일 열기
if img2 is None:
print('Image load failed!')
return
alpha = 1.0 # 기울기가 2이려면 alpha값은 1.0이어야 한다.
# convertScaleAbs를 이용해 평균 밝기를 기준으로 기울기(계수)는 2로 하여 명암비를 조절한다.
img2 = cv.convertScaleAbs(img2, alpha = 1+alpha, beta = -img2.mean()*alpha)
# saturate - 포화연산을 하여 0보다 작으면 0에 수렴하게, 255보다 크면 255에 수렴하게, 그 외엔 원본값
img2[img2 < 0] = 0
img2[img2 > 255] = 255
# contrast.jpg로 저장
cv.imwrite('contrast.jpg', img2)
cv.imshow('image', img2)
cv.waitKey()
contrast()