train data 선명하게 위한 용도로 고안
import cv2
import numpy as np
import matplotlib.pyplot as plt
# CLAHE 적용 (histo_clahe.py)
# 이미지 읽어서 YUV 컬러스페이스로 변경
image_path = r'C:\Users\kimdo\바탕 화면\AI Lab\cv-competition\data\test/'
file_name = '00c0dabb63ca7a16'
imgae_name = image_path + file_name + '.jpg'
image_ar = np.fromfile(imgae_name, np.uint8)
image = cv2.imdecode(image_ar, cv2.IMREAD_UNCHANGED)
img_yuv = cv2.cvtColor(image, cv2.COLOR_BGR2YUV)
# 밝기 채널에 대해서 이퀄라이즈 적용
img_eq = img_yuv.copy()
img_eq[:, :, 0] = cv2.equalizeHist(img_eq[:, :, 0])
img_eq = cv2.cvtColor(img_eq, cv2.COLOR_YUV2BGR)
# 밝기 채널에 대해서 CLAHE 적용
img_clahe = img_yuv.copy()
clahe = cv2.createCLAHE(clipLimit=3.0, tileGridSize=(8, 8)) # CLAHE 생성
img_clahe[:, :, 0] = clahe.apply(img_clahe[:, :, 0]) # CLAHE 적용
img_clahe = cv2.cvtColor(img_clahe, cv2.COLOR_YUV2BGR)
# 결과 이미지 표시
plt.figure(figsize=(10, 5))
# 원본 이미지
plt.subplot(1, 2, 1)
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.title('Original Image')
plt.axis('off')
# CLAHE 적용된 이미지
plt.subplot(1, 2, 2)
plt.imshow(cv2.cvtColor(img_clahe, cv2.COLOR_BGR2RGB))
plt.title('CLAHE Image')
plt.axis('off')
plt.show()