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

Pillow 라이브러리로 이미지에 박스 블러(Box Blur) 효과 적용하는 방법

이번 포스트에서는 박스 필터(Box Filter)를 사용하여 이미지를 흐릿하게 만드는 방법을 살펴보겠습니다. Pillow 라이브러리의 ImageFilter 클래스에는 BoxBlur() 함수가 내장되어 있어, 별도의 복잡한 연산 없이도 간편하게 박스 블러 효과를 적용할 수 있습니다.

BoxBlur() 함수는 단 하나의 매개변수인 블러 반경(blur radius)만을 입력받습니다. 반경 값이 커질수록 이미지가 더욱 흐려지며, 값이 작으면 미세한 부드러움 효과만 나타납니다.

원본 이미지

Pillow 라이브러리로 이미지에 박스 블러(Box Blur) 효과 적용하는 방법

알고리즘

전체적인 처리 과정은 다음과 같습니다.

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()

실행 결과

위 코드를 실행하면 원본 이미지에 비해 경계선이 부드럽게 흐려진 결과 이미지를 확인할 수 있습니다.

Pillow 라이브러리로 이미지에 박스 블러(Box Blur) 효과 적용하는 방법

참고 사항

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