[python] 이미지 평활화 및 채도 조절하기

이미지 처리는 컴퓨터 비전 및 그래픽 분야에서 매우 중요한 작업입니다. 이미지의 평활화와 채도 조절은 이미지의 품질을 향상시키는 데 도움이 되는 몇 가지 기술입니다. 이번 글에서는 파이썬을 사용하여 이미지의 평활화 및 채도 조절을 어떻게 할 수 있는지 알아보겠습니다.

이미지 평활화

이미지 평활화는 이미지의 밝기 분포를 조정하여 명암 대비를 향상시키는 프로세스입니다. 이를 통해 이미지의 선명도와 디테일이 더욱 돋보이게 할 수 있습니다. 파이썬의 OpenCV 라이브러리를 사용하여 이미지의 평활화를 수행할 수 있습니다.

코드 예시

import cv2

# 이미지 불러오기
image = cv2.imread('image.jpg')

# 이미지를 그레이스케일로 변환
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 이미지 평활화 적용
equalized_image = cv2.equalizeHist(gray_image)

# 결과 이미지 출력
cv2.imshow('Equalized Image',cv2.cvtColor(equalized_image, cv2.COLOR_GRAY2BGR))
cv2.waitKey(0)
cv2.destroyAllWindows()

위의 예시 코드에서는 cv2.equalizeHist() 함수를 사용하여 이미지의 평활화를 수행합니다. 입력 이미지를 그레이스케일로 변환한 후 equalizeHist() 함수를 적용하여 평활화된 이미지를 얻습니다. 마지막으로, 결과 이미지를 출력합니다.

채도 조절

이미지의 채도 조절은 이미지의 색상 강도를 조절하여 이미지의 색감을 변경하는 작업입니다. 파이썬의 OpenCV 라이브러리를 사용하여 이미지의 채도를 조절할 수 있습니다.

코드 예시

import cv2
import numpy as np

# 이미지 불러오기
image = cv2.imread('image.jpg')

# 이미지의 HSV 색 공간으로 변환
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

# 채도 조절을 위해 색상 채널 가져오기
saturation_channel = hsv_image[:,:,1]

# 채도 조절 적용
adjusted_saturation_channel = cv2.add(saturation_channel, 50)

# 조절된 색상 채널 다시 이미지에 합치기
hsv_image[:,:,1] = adjusted_saturation_channel

# 조절된 이미지를 BGR 색 공간으로 변환
final_image = cv2.cvtColor(hsv_image, cv2.COLOR_HSV2BGR)

# 결과 이미지 출력
cv2.imshow('Adjusted Saturation Image', final_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

위의 예시 코드에서는 cv2.cvtColor() 함수를 사용하여 이미지를 HSV 색 공간으로 변환합니다. 그 후, 채도 조절을 위해 이미지에서 색상 채널을 가져옵니다. cv2.add() 함수를 사용하여 채도를 조절하고, 조절된 색상 채널을 다시 이미지에 합치고 BGR 색 공간으로 변환합니다. 마지막으로, 결과 이미지를 출력합니다.

이처럼 파이썬의 OpenCV 라이브러리를 활용하여 이미지의 평활화와 채도 조절을 수행할 수 있습니다. 위의 예시 코드를 참고하여 원하는 이미지 처리를 진행해보세요.

참고 문서