이번 포스트에서는 박스 필터(Box Filter)를 사용하여 이미지를 흐릿하게 만드는 방법을 살펴보겠습니다. Pillow 라이브러리의 ImageFilter 클래스에는 BoxBlur() 함수가 내장되어 있어, 별도의 복잡한 연산 없이도 간편하게 박스 블러 효과를 적용할 수 있습니다.
BoxBlur() 함수는 단 하나의 매개변수인 블러 반경(blur radius)만을 입력받습니다. 반경 값이 커질수록 이미지가 더욱 흐려지며, 값이 작으면 미세한 부드러움 효과만 나타납니다.
원본 이미지

알고리즘
전체적인 처리 과정은 다음과 같습니다.
1단계: Pillow에서 Image와 ImageFilter 모듈을 임포트합니다.
2단계: 처리할 이미지 파일을 엽니다.
3단계: filter() 메서드에 BoxBlur()를 전달하며 반경(radius) 값을 지정합니다.
4단계: 블러가 적용된 결과 이미지를 화면에 출력합니다.
예제 코드
아래 코드는 반경 7 픽셀로 박스 블러를 적용하는 간단한 예제입니다.
from PIL import Image, ImageFilter
im = Image.open('image_test.jpg')
im1 = im.filter(ImageFilter.BoxBlur(radius = 7))
im1.show()
실행 결과
위 코드를 실행하면 원본 이미지에 비해 경계선이 부드럽게 흐려진 결과 이미지를 확인할 수 있습니다.

참고 사항
radius 값을 조절하면 블러 강도를 자유롭게 변경할 수 있습니다. 예를 들어 radius=2 정도의 작은 값은 가벼운 스무딩 효과를, radius=15 이상의 큰 값은 배경을 크게 흐리는 강한 효과를 만들어냅니다. 프로필 사진의 배경 처리나 썸네일 제작 등 다양한 용도로 활용해 보시기 바랍니다.