[파이썬] imageio 이미지에 필터 적용하기

Image Filters

이미지는 우리 생활에서 더 이상 빠져나갈 수 없는 중요한 부분이되었습니다. 이제는 사진 속 주변 환경이나 개체를 수정하여보다 인상적인 작품을 만들 수 있는 기술이 필요합니다. Python과 ImageIO 라이브러리를 사용하여 이미지에 간단한 필터를 적용하는 방법을 알아보겠습니다.

ImageIO 소개

ImageIO는 Python에서 이미지 파일을 읽고 쓰기 위한 높은 수준의 인터페이스를 제공하는 강력한 라이브러리입니다. 다양한 파일 형식(JPEG, PNG, GIF 등)을 지원하며, 간편한 인터페이스를 통해 이미지 처리 작업을 수행할 수 있습니다.

필터 적용하기

이미지에 필터를 적용하는 것은 이미지의 시각적 효과를 개선하거나 변경하는데 있어 매우 중요합니다. ImageIO는 다양한 필터를 제공하며, 다음의 예시를 통해 어떻게 작동하는지 살펴보겠습니다.

import imageio
import numpy as np

# 이미지 파일을 읽어옵니다.
image = imageio.imread("image.jpg")

# 이미지에 필터를 적용합니다.
filtered_image = np.mean(image, axis=2)  # 이미지를 흑백으로 변환

# 이미지를 저장합니다.
imageio.imsave("filtered_image.jpg", filtered_image)

위의 코드는 주어진 이미지 파일(“image.jpg”)을 읽고, 이미지에 필터를 적용하여 흑백으로 변환한 다음, “filtered_image.jpg”라는 새로운 파일로 저장하는 간단한 예시입니다.

추가적인 필터 적용

ImageIO를 사용하여 다양한 필터를 적용할 수도 있습니다. 예를 들어, 이미지에 블러(blur) 효과를 주고 싶다면 다음과 같이 코드를 작성할 수 있습니다.

import imageio
import skimage.filters as filters

# 이미지 파일을 읽어옵니다.
image = imageio.imread("image.jpg")

# 이미지에 블러 필터를 적용합니다.
blurred_image = filters.gaussian(image, sigma=3)

# 이미지를 저장합니다.
imageio.imsave("blurred_image.jpg", blurred_image)

위의 코드는 Gaussian 필터를 사용하여 이미지에 블러 효과를 적용하는 예시입니다. 필터링 작업을 위해 추가적인 라이브러리인 scikit-image의 skimage.filters를 임포트하였습니다. 필터링 작업 후 imageio.imsave() 함수를 사용하여 이미지를 저장할 수 있습니다.

마치며

이미지에 필터를 적용하는 것은 사진이나 그래픽 작업에서 중요한 부분입니다. Python과 ImageIO 라이브러리를 활용하면 더욱 다양한 이미지 효과를 구현할 수 있습니다. 이번 포스트를 통해 ImageIO를 사용하여 이미지에 필터를 적용하는 방법에 대해 간단히 알아보았습니다. 더 많은 필터와 기능을 사용하려면 ImageIO 문서와 이미지 처리에 대한 다른 자원들을 참조해보세요.

이미지가 출처를 표기한다면, 이미지 출처를 기입해주세요