[python] OpenCV로 이미지 필터링하기

OpenCV는 이미지 및 비디오 처리를 위한 오픈 소스 컴퓨터 비전 라이브러리입니다. 이번에는 OpenCV를 사용하여 이미지 필터링을 수행하는 방법을 알아보겠습니다.

필요한 패키지 설치

우선 OpenCV를 설치해야 합니다. 아래의 명령어를 사용하여 OpenCV를 설치할 수 있습니다.

pip install opencv-python

또한, 이미지를 보여주기 위해 matplotlib 패키지도 설치해야 합니다.

pip install matplotlib

코드 예시

다음은 OpenCV를 사용하여 이미지 필터링을 수행하는 간단한 예제 코드입니다.

import cv2
import matplotlib.pyplot as plt

# 이미지 로드
image = cv2.imread('input.jpg')

# 이미지 필터링
filtered_image = cv2.GaussianBlur(image, (5, 5), 0)

# 이미지 출력
plt.subplot(1, 2, 1)
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.title('Original Image')
plt.axis('off')

plt.subplot(1, 2, 2)
plt.imshow(cv2.cvtColor(filtered_image, cv2.COLOR_BGR2RGB))
plt.title('Filtered Image')
plt.axis('off')

plt.show()

위의 코드는 GaussianBlur 함수를 사용하여 이미지를 블러 처리하는 예제입니다. 5x5 크기의 필터를 사용하며, 필터의 표준 편차는 0으로 설정되어 있습니다.

결과 확인

위의 코드를 실행하면 원본 이미지와 필터링된 이미지가 나란히 출력됩니다.

결과 이미지

위의 이미지에서 볼 수 있듯이 필터링을 통해 이미지의 선명도가 감소하고 부드러워진 것을 확인할 수 있습니다.

결론

OpenCV를 사용하여 이미지 필터링을 수행하는 방법에 대해 알아보았습니다. 이미지 필터링은 이미지 처리에 많이 활용되는 기술이며, 다양한 필터를 사용하여 이미지를 특정한 효과를 주거나 전처리하는 등 다양한 작업에 활용할 수 있습니다. OpenCV는 이러한 이미지 처리 작업을 수행하기 위한 강력한 도구입니다.