728x90
반응형
오늘은 이미지 처리방법 중에서 자동보정하는 여러 방법들을 사용해보자.
오늘 해볼것은 히스토그램 평활화 (Histogram Equalization), CLAHE (Contrast Limited Adaptive Histogram Equalization), Gaussian Blur and Sharpening, Brightness and Contrast Adjustment이다.
- 히스토그램 평활화: 이미지의 명암비를 개선하여 더 잘 보이게 만드는 기법
import cv2
# 이미지 읽기
image = cv2.imread('/my_dir/image.jpg', 0) # 그레이스케일로 이미지 읽기
# 히스토그램 평활화
equalized_image = cv2.equalizeHist(image)
# 결과 저장 및 보기
cv2.imwrite('/my_dir/equalized_image.jpg', equalized_image)
cv2.imshow('Equalized Image', equalized_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
- CLAHE: 히스토그램 평활화의 개선된 버전으로, 지역 대비를 향상시켜 더 자연스럽게 해준다.
import cv2
# 이미지 읽기
image = cv2.imread('/my_dir/image.jpg')
# CLAHE 적용
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
clahe_image = clahe.apply(image)
# 결과 저장 및 보기
cv2.imwrite('/my_dir/clahe_image.jpg', clahe_image)
cv2.imshow('CLAHE Image', clahe_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
- Gaussian Blur and Sharpening: 이미지의 잡음을 줄이고 선명도를 높이는 데 사용
import cv2
import numpy as np
# 이미지 읽기
image = cv2.imread('/my_dir/image.jpg')
# 가우시안 블러 적용
blurred = cv2.GaussianBlur(image, (5, 5), 0)
# 샤프닝 커널 적용
sharpening_kernel = np.array([[-1, -1, -1], [-1, 9, -1], [-1, -1, -1]])
sharpened = cv2.filter2D(blurred, -1, sharpening_kernel)
# 결과 저장 및 보기
cv2.imwrite('/my_dir/sharpened_image.jpg', sharpened)
cv2.imshow('Sharpened Image', sharpened)
cv2.waitKey(0)
cv2.destroyAllWindows()
- Brightness and Contrast Adjustment: 이미지의 밝기와 대비를 조정
import cv2
# 이미지 읽기
image = cv2.imread('/my_dir/image.jpg')
# 밝기 및 대비 조정
alpha = 1.2 # 대비 (1.0 = 원본 대비)
beta = 50 # 밝기 (0 = 원본 밝기)
adjusted = cv2.convertScaleAbs(image, alpha=alpha, beta=beta)
# 결과 저장 및 보기
cv2.imwrite('/my_dir/adjusted_image.jpg', adjusted)
cv2.imshow('Adjusted Image', adjusted)
cv2.waitKey(0)
cv2.destroyAllWindows()
오늘은 여기까지
728x90
반응형
'OpenCV' 카테고리의 다른 글
[OpenCV] 이미지 처리 (비디오 crop) (0) | 2024.08.18 |
---|---|
[OpenCV] 이미지 처리 (비디오) (0) | 2024.08.18 |
[OpenCV] 이미지 처리 (모자이크 & 블러) (0) | 2024.08.17 |
[OpenCV] 이미지 처리 (합성2) (0) | 2024.08.17 |
[OpenCV] 이미지 처리 (합성1) (0) | 2024.08.17 |