이 글에서는 Python의 Pillow 라이브러리를 사용해 이미지에 미디언 필터(Median Filter)를 적용하는 방법을 살펴봅니다. 미디언 필터링은 선택한 윈도우(창) 안의 픽셀 값들을 정렬한 후, 그 중앙값(median)으로 해당 영역의 각 픽셀 값을 대체하는 기법입니다. 이러한 원리 덕분에 소금-후추(salt-and-pepper) 형태의 잡음 제거에 특히 효과적이며, 가우시안 블러와 달리 이미지의 경계선(edge)을 비교적 잘 보존하면서 부드럽게 만들 수 있다는 장점이 있습니다.
Pillow에서는 filter() 함수 하나만으로 다양한 필터를 손쉽게 적용할 수 있으며, 여기서는 ImageFilter.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()코드 설명
MedianFilter의 size 매개변수는 중앙값을 계산할 때 사용할 윈도우의 크기를 나타냅니다. 위 예제에서는 7×7 크기의 윈도우가 적용되며, 이 값이 커질수록 잡음 제거 효과는 강해지지만 이미지가 더 많이 흐려질 수 있습니다. 반대로 값을 줄이면 디테일은 더 잘 유지되지만 잡음 제거 성능은 약화됩니다.
실행 결과
