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

이미지 처리에 많이 사용되는 Python 라이브러리인 imageio는 이미지를 로드하고 저장하기 위한 간편한 인터페이스를 제공합니다. imageio는 다양한 이미지 형식을 지원하며, 이러한 이미지들을 NumPy 배열로 변환하여 사용할 수도 있습니다. 이번 블로그 포스트에서는 imageio를 사용하여 이미지를 NumPy 배열로 변환하는 방법에 대해 알아보겠습니다.

이미지 파일 로드하기

먼저, imageio를 사용하여 이미지 파일을 로드하는 방법부터 알아보겠습니다. 아래의 코드는 imageio.imread() 함수를 사용하여 이미지 파일을 로드하는 예제입니다.

import imageio

# 이미지 파일 경로 설정
image_path = 'image.jpg'

# 이미지 파일 로드
image = imageio.imread(image_path)

로드된 이미지는 NumPy 배열로 반환됩니다. 이제 이미지를 NumPy 배열로 성공적으로 로드했습니다.

이미지 배열 다루기

로드된 이미지를 NumPy 배열로 적용하여 다양한 이미지 처리 작업을 수행할 수 있습니다. 예를 들어, 이미지 크기를 확인하거나 이미지의 일부 영역을 잘라낼 수 있습니다.

import numpy as np

# 이미지 크기 확인
image_shape = image.shape
print('이미지 크기:', image_shape)

# 이미지의 일부 영역 자르기
cropped_image = image[100:300, 200:400, :]

NumPy 배열을 통해 이미지에 적용할 수 있는 다양한 작업들은 무궁무진합니다.

이미지 배열을 이미지로 저장하기

NumPy 배열을 이미지로 저장하는 과정은 간단합니다. imageio.imwrite() 함수를 사용하여 저장할 수 있습니다. 아래의 예제는 이미지를 NumPy 배열로 저장하는 방법을 보여줍니다.

import imageio

# 저장할 이미지 경로 설정
save_path = 'saved_image.jpg'

# NumPy 배열을 이미지로 저장
imageio.imwrite(save_path, image)

이제 이미지를 NumPy 배열 형식으로 저장했습니다.

결론

imageio 라이브러리를 사용하면 이미지 파일을 간편하게 로드하고 저장할 수 있습니다. 또한, NumPy 배열과 함께 사용하여 다양한 이미지 처리 작업을 수행할 수 있습니다. 이미지 처리에 관심이 있는 개발자라면, imageio를 활용하여 더욱 다양하고 효율적인 이미지 처리 애플리케이션을 개발해 보세요.