일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 아웃룩
- matlab
- pythongui
- pandas
- html
- 깃
- pyqt5
- 문자열
- 비주얼베이직
- 안드로이드
- Excel
- python3
- office
- Outlook
- Windows11
- VBA
- 파이썬
- git
- win32com
- python
- Android
- Windows10
- windows
- 파이썬3
- 오피스
- 파워포인트
- 윈도우10
- 엑셀
- 윈도우11
- 파이썬GUI
Appia의 IT세상
파이썬[Python, Pillow] 이미지 흐림(Blur) 처리 하기 본문
파이썬[Python, Pillow] 이미지 흐림(Blur) 처리 하기
다양한 이유에서든지 이미지를 흐리게 하는 처리를 많이 합니다. 대부분 필터를 적용하여 이와 같이 이미지를 흐리게 하는 경우가 많습니다. pillow라이브러이에서도 ImageFilter에서 이와 같은 부분에 대해서 제공을 하고 있습니다. 따라서 이번 포스팅에서는 이미지를 흐리게 하는 기법에 대해서 살펴보고자 합니다.
pillow에서는 3가지 형태로 이미지를 흐리게 하는 방식을 지원합니다.
BLUR
Box BLUR
Gaussian BLUR
일단 각 부분에 대해서 살펴보겠습니다.
1. BLUR 필터 사용
먼저 다음 코드를 바탕으로 한번 살펴보겠습니다.
from PIL import Image, ImageFilter #이미지 불러오기 image1 = Image.open('IMG_3368.JPG') image1.show() #이미지 blur 필터 적용 blurI = image1.filter(ImageFilter.BLUR) blurI.show() blurI.save("blurImage.jpg") | cs |
위의 코드를 실행하면 다음과 같은 결과가 나타납니다.
<원본 사진>
<blur 필터 적용 사진>
위에 BLUR 방식에서는 convolution matrix을 사용해서 변환 해주는 것으로 알고 있습니다. 따라서 사용자가 입력한 인자값은 없습니다.
2. Box BLUR 필터 사용
Box BLUR의 경우 인자값을 가지고 있습니다. 특정 범위내에서 반경을 바탕으로 흐릿한 값의 정도를 지정할 수 있습니다. 그럼 다음 코드를 한번 살펴보겠습니다.
from PIL import Image, ImageFilter #이미지 불러오기 image1 = Image.open('IMG_3368.JPG') image1.show() #BoxBlur 사용 blurI = image1.filter(ImageFilter.BoxBlur(5)) blurI.show() blurI.save("BoxblurImage.jpg") | cs |
위의 코드에서 보시는 바와 같이 BoxBlur의 경우 인자값을 넣어줘야 합니다. 이 값에 비례해서 흐릿함의 정도가 변경이 됩니다. 그럼 결과를 한번 살펴보겠습니다. 원본의 경우 위의 예제와 동일합니다.
<BoxBlur 적용된 사진>
3. Gaussian BLUR 필터 사용
Gaussian BLUR의 경우 가우스 곡선을 이용하여 흐림함을 적용하는 것으로 알고 있습니다. 그럼, 코드를 한번 살펴보겠습니다.
from PIL import Image, ImageFilter #이미지 불러오기 image1 = Image.open('IMG_3368.JPG') image1.show() #BoxBlur 사용 blurI = image1.filter(ImageFilter.GaussianBlur(5)) blurI.show() blurI.save("GauImage.jpg") | cs |
결과는 다음과 같이 나옵니다.
<Gaussian BLUR 적용된 사진>
실제로 저의 경우 비전문가로 Box Blur/ Gaussian Blur 차이을 명확하게 알지 못합니다. 하지만, 위의 부분에서 편하시는 것을 사용하여, 이미지 흐림 처리을 할수가 있을 것입니다.
혹 궁금 하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.
'Python > Python 기본' 카테고리의 다른 글
파이썬[Python] 변수의 타입 확인하는 방법, 변수의 타입이 String인지 확인하기(type함수, isinstance함수) (0) | 2020.10.18 |
---|---|
파이썬[Python, Pillow] 이미지 워터마크(watermark) 적용하기 (3) | 2020.09.08 |
파이썬[Python, Pillow] 이미지 회전하기, 상하, 좌우 대칭(Flip) (0) | 2020.09.04 |
파이썬[Python, Pillow] 이미지 자르기(Crop) (2) | 2020.09.02 |
파이썬[Python, Pillow] 두개의 이미지 합치기(Merge) (0) | 2020.08.30 |