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

Pillow 라이브러리로 이미지에 미디언 필터(MedianFilter) 적용하기

이 글에서는 Python의 Pillow 라이브러리를 사용해 이미지에 미디언 필터(Median Filter)를 적용하는 방법을 살펴봅니다. 미디언 필터링은 선택한 윈도우(창) 안의 픽셀 값들을 정렬한 후, 그 중앙값(median)으로 해당 영역의 각 픽셀 값을 대체하는 기법입니다. 이러한 원리 덕분에 소금-후추(salt-and-pepper) 형태의 잡음 제거에 특히 효과적이며, 가우시안 블러와 달리 이미지의 경계선(edge)을 비교적 잘 보존하면서 부드럽게 만들 수 있다는 장점이 있습니다.

Pillow에서는 filter() 함수 하나만으로 다양한 필터를 손쉽게 적용할 수 있으며, 여기서는 ImageFilter.MedianFilter를 활용합니다.

원본 이미지

Pillow 라이브러리로 이미지에 미디언 필터(MedianFilter) 적용하기

처리 순서(알고리즘)

1단계: Pillow에서 Image와 ImageFilter 모듈을 가져옵니다.
2단계: 처리할 이미지 파일을 엽니다.
3단계: filter() 함수를 호출하고 미디언 필터를 지정합니다.
4단계: 결과 이미지를 화면에 표시합니다.

예제 코드

from PIL import Image, ImageFilter

im = Image.open('testimage.jpg')
im1 = im.filter(ImageFilter.MedianFilter(size = 7))
im1.show()

코드 설명

MedianFiltersize 매개변수는 중앙값을 계산할 때 사용할 윈도우의 크기를 나타냅니다. 위 예제에서는 7×7 크기의 윈도우가 적용되며, 이 값이 커질수록 잡음 제거 효과는 강해지지만 이미지가 더 많이 흐려질 수 있습니다. 반대로 값을 줄이면 디테일은 더 잘 유지되지만 잡음 제거 성능은 약화됩니다.

실행 결과

Pillow 라이브러리로 이미지에 미디언 필터(MedianFilter) 적용하기