본문 바로가기
■ 칼퇴를 위한 파이썬 : 사례

파이썬으로 이미지 처리하기: 이미지 필터링

by 포탈메이커 2023. 7. 14.

파이썬으로 이미지 처리하기: 이미지 필터링

소개

이미지 처리는 컴퓨터 비전 분야에서 매우 중요한 역할을 한다. 이미지 필터링은 이미지에서 원하는 정보를 추출하거나 불필요한 정보를 제거하기 위해 사용되는 기술이다. 이 글에서는 파이썬을 사용하여 이미지 필터링을 어떻게 할 수 있는지 알아보도록 하겠다.

이미지 불러오기

이미지 필터링을 하기 위해서는 우선 이미지를 불러와야 한다. 파이썬의 PIL (Python Imaging Library) 라이브러리를 사용하면 이미지를 손쉽게 불러올 수 있다. 다음은 PIL을 사용하여 이미지를 불러오는 코드 예시이다.

```python from PIL import Image

이미지 불러오기

image = Image.open('image.jpg') ```

이미지 필터링 기법

1. 그레이스케일 필터링

그레이스케일 필터링은 이미지의 색상을 흑백으로 변환하는 기법이다. 모든 픽셀의 RGB 값을 평균 내서 새로운 픽셀 값으로 설정한다. 이를 통해 이미지를 그레이스케일로 변환할 수 있다. 다음은 그레이스케일 필터링을 수행하는 코드 예시이다.

```python

그레이스케일 필터링

gray_image = image.convert('L') ```

2. 블러 필터링

블러 필터링은 이미지를 흐리게 만드는 기법이다. 이미지의 픽셀 값을 주위 픽셀 값들과 평균 내어 새로운 픽셀 값으로 설정한다. 이를 통해 이미지에 흐릿한 효과를 주거나 잡음을 제거할 수 있다. 다음은 블러 필터링을 수행하는 코드 예시이다.

```python

블러 필터링

blurred_image = image.filter(ImageFilter.BLUR) ```

3. 경계선 강조 필터링

경계선 강조 필터링은 이미지의 경계를 강조하는 기법이다. 이미지의 픽셀 값을 주위 픽셀 값들과 비교하여 경계에 해당하는 픽셀 값을 새로운 픽셀 값으로 설정한다. 이를 통해 이미지의 경계를 더욱 돋보이게 할 수 있다. 다음은 경계선 강조 필터링을 수행하는 코드 예시이다.

```python

경계선 강조 필터링

edgesimage = image.filter(ImageFilter.FINDEDGES) ```

결과 확인하기

이미지 필터링을 수행한 결과를 확인하려면 이미지를 출력해야 한다. matplotlib 라이브러리를 사용하여 이미지를 출력할 수 있다. 다음은 이미지를 출력하는 코드 예시이다.

```python import matplotlib.pyplot as plt

이미지 출력

plt.imshow(edges_image, cmap='gray') plt.axis('off') # 좌표축 제거 plt.show() ```

마무리

이미지 필터링은 파이썬을 활용하여 쉽게 구현할 수 있는 기술 중 하나이다. 이 글에서는 그레이스케일 필터링, 블러 필터링, 경계선 강조 필터링에 대해 간단히 소개했다. 다양한 이미지 필터링 기법을 적용해보면서 이미지 처리에 대한 이해도를 높여보자.