[파이썬] opencv-python 사진의 블러 효과 제거

지금까지 OpenCV-Python을 사용하여 이미지를 로드하고 다양한 이미지 처리 작업을 수행하는 방법을 배웠습니다. 이번에는 이미지에서 발생하는 블러 효과를 제거하는 방법을 알아보겠습니다. 블러 효과는 이미지에서 선명도를 감소시키고 경계를 흐려지게 만드는 효과입니다. 때로는 이러한 효과를 제거하여 이미지의 선명도를 복원하고 이미지를 더 선명하고 섬세하게 만들 수 있습니다.

1. OpenCV-Python 설치

이전에 OpenCV-Python을 설치한 적이 없는 경우, 다음 명령을 사용하여 설치할 수 있습니다.

pip install opencv-python

2. 이미지 로드

먼저, 이미지를 로드해야 합니다. 다음 코드는 OpenCV-Python의 imread() 함수를 사용하여 이미지를 로드하는 코드입니다.

import cv2

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

위의 코드에서 ‘image.jpg’에는 본인이 사용하고자 하는 이미지 파일의 경로와 파일명을 입력해야 합니다.

3. 블러 효과 제거

이제 OpenCV-Python의 GaussianBlur() 함수를 사용하여 이미지에서 발생하는 블러 효과를 제거할 수 있습니다. 다음 코드는 이미지에 GaussianBlur() 함수를 적용하여 블러 효과를 제거하는 코드입니다.

# 블러 효과 제거
deblurred_image = cv2.GaussianBlur(image, (0, 0), sigmaX=5, sigmaY=5)

위의 코드에서 sigmaXsigmaY 매개변수는 블러 효과를 제거하는 데 사용되는 커널의 크기를 지정합니다. 값이 더 크면 더 강한 블러 효과 제거가 발생합니다.

4. 결과 확인

마지막으로, 제거된 블러 효과를 확인하기 위해 이미지를 출력해야 합니다. 다음 코드는 OpenCV-Python의 imshow() 함수를 사용하여 이미지를 출력하는 코드입니다.

# 이미지 출력
cv2.imshow('Deblurred Image', deblurred_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

위의 코드에서 imshow() 함수에 첫 번째 매개변수로 ‘Deblurred Image’라는 창의 제목을 지정할 수 있습니다. 코드 실행 시 해당 창이 열리고 제거된 블러 효과가 적용된 이미지가 표시됩니다.

전체 코드

import cv2

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

# 블러 효과 제거
deblurred_image = cv2.GaussianBlur(image, (0, 0), sigmaX=5, sigmaY=5)

# 이미지 출력
cv2.imshow('Deblurred Image', deblurred_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

위의 코드를 실행하여 이미지의 블러 효과를 제거하고 더 선명한 이미지를 얻을 수 있습니다. 이미지의 블러 효과를 처리함으로써 선명도를 개선하고 이미지를 더욱 섬세하고 실제같이 만들 수 있습니다.

이제 OpenCV-Python을 사용하여 사진의 블러 효과를 제거하는 방법을 배웠습니다. 다양한 이미지 처리 작업을 수행하여 이미지의 품질을 개선할 수 있으며, 이를 통해 보다 더 흥미로운 프로젝트와 응용 프로그램을 개발할 수 있습니다.