반응형

CLAHE (Contrast Limited Adaptive Histogram Equalization)  파이썬 예제 코드입니다.



출처

https://stackoverflow.com/questions/24341114/simple-illumination-correction-in-images-opencv-c 



2022. 11. 3  최초작성



import cv2
import numpy as np


img = cv2.imread('test.jpeg')
h,w,c = img.shape
img = cv2.resize(img, ((w//4, h//4)))


lab = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
l,a,b = cv2.split(lab)
l = clahe.apply(l)
lab = cv2.merge((l,a,b))
out1 = cv2.cvtColor(lab, cv2.COLOR_LAB2BGR)

clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
hsv= cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
h,s,v = cv2.split(hsv)
v = clahe.apply(v)
ycbcr = cv2.merge((h,s,v))
out2 = cv2.cvtColor(ycbcr, cv2.COLOR_HSV2BGR)

clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
yuv= cv2.cvtColor(img, cv2.COLOR_BGR2YUV)
y,u,v = cv2.split(yuv)
y = clahe.apply(y)
yuv = cv2.merge((y,u,v))
out3 = cv2.cvtColor(yuv, cv2.COLOR_YUV2BGR)

ret = cv2.hconcat((img, out1, out2, out3))
cv2.imshow('source-lab-hsv-yuv', ret)
cv2.waitKey(0)



왼쪽부터 원본 이미지 그리고 LAB, HSV, YUV  색공간에 대해 CLAHE를 적용한 결과입니다. 



반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts