[파이썬] imageio NumPy 배열을 이미지로 변환

이미지 처리를 위한 파이썬 라이브러리 imageio는 다양한 이미지 형식을 지원하며, NumPy 배열을 사용하여 이미지를 처리할 수 있습니다. 이번 블로그 포스트에서는 imageio를 사용하여 NumPy 배열을 이미지로 변환하는 방법을 알아보겠습니다.

imageio 라이브러리 설치

먼저, imageio 라이브러리를 설치해야 합니다. 터미널 또는 명령 프롬프트에서 다음 명령을 실행하여 설치할 수 있습니다.

pip install imageio

NumPy 배열을 이미지로 변환하기

NumPy는 이미지 데이터를 다루기 위한 강력한 도구입니다. 우선 NumPy 배열에 이미지 데이터를 로드한 후, 이를 imageio를 사용하여 이미지로 변환할 수 있습니다. 아래 예제를 통해 이 과정을 자세히 살펴보겠습니다.

import imageio
import numpy as np

# NumPy 배열 생성
img_data = np.random.randint(0, 255, size=(100, 100, 3), dtype=np.uint8)

# NumPy 배열을 이미지로 변환
imageio.imwrite('output_image.jpg', img_data)

위 코드에서는 np.random.randint 함수를 사용하여 임의의 이미지 데이터를 생성합니다. 이때, size 매개변수로 (높이, 너비, 채널) 크기의 NumPy 배열을 생성하고, dtype 매개변수로 이미지 데이터 타입을 지정합니다. 생성한 NumPy 배열을 imageio.imwrite 함수에 전달하여 이미지로 변환합니다.

이렇게 변환된 이미지는 현재 작업 디렉토리에 ‘output_image.jpg’라는 이름으로 저장됩니다.

다른 이미지 형식으로 저장하기

기본적으로 imageio.imwrite 함수는 이미지를 JPEG 형식으로 저장합니다. 하지만, 다른 형식으로 저장하려면 format 매개변수를 사용하여 형식을 지정할 수 있습니다.

# PNG 형식으로 저장
imageio.imwrite('output_image.png', img_data, format='PNG')

# GIF 형식으로 저장
imageio.imwrite('output_image.gif', img_data, format='GIF')

위 예제에서는 format 매개변수를 사용하여 각각 PNG와 GIF 형식으로 이미지를 저장합니다.

결론

imageio를 사용하여 NumPy 배열을 이미지로 변환하는 방법에 대해 알아보았습니다. 이를 통해 이미지 처리 작업을 더욱 효과적으로 수행할 수 있습니다. NumPy와 imageio를 함께 사용하여 이미지 처리를 해보세요!