Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

OpenCV medianBlur() 함수로 이미지 블러 처리하기

이 튜토리얼에서는 OpenCV 라이브러리의 medianBlur() 함수를 사용하여 이미지에 블러(흐림) 효과를 적용하는 방법을 알아봅니다. 미디언 블러링(Median Blurring)은 이미지의 노이즈를 제거하면서도 가장자리(edge)를 비교적 잘 보존할 수 있는 필터링 기법으로, 소금-후추(salt-and-pepper) 노이즈 제거에 특히 효과적입니다.

원본 이미지

OpenCV medianBlur() 함수로 이미지 블러 처리하기

알고리즘

1단계: cv2 모듈을 임포트합니다.
2단계: 이미지 파일을 읽어옵니다.
3단계: cv2.medianBlur() 함수에 이미지와 커널 크기를 전달합니다.
4단계: 결과 이미지를 화면에 출력합니다.

예제 코드

import cv2
image = cv2.imread("testimage.jpg")
image = cv2.medianBlur(image, 7)
cv2.imshow("medianblur", image)
cv2.waitKey(0)

코드 설명

cv2.imread() 함수는 지정된 경로의 이미지를 불러옵니다. cv2.medianBlur() 함수의 두 번째 인자인 7은 커널(kernel) 크기를 의미하며, 이 값은 반드시 홀수여야 합니다. 커널 크기가 클수록 더 강한 블러 효과가 적용됩니다. 이 함수는 커널 영역 내 픽셀 값들의 중앙값(median)을 계산하여 해당 위치의 픽셀 값을 대체하는 방식으로 동작합니다.

마지막으로 cv2.imshow() 함수로 결과 이미지를 창에 표시하고, cv2.waitKey(0)를 호출하여 사용자가 키를 누를 때까지 창을 유지합니다.

실행 결과

OpenCV medianBlur() 함수로 이미지 블러 처리하기

위 출력 이미지에서 볼 수 있듯이, 원본 이미지에 비해 노이즈가 부드럽게 제거되고 전체적으로 흐릿한 효과가 적용된 것을 확인할 수 있습니다.