[파이썬] imageio 이미지에 도형 그리기

image

imageio는 파이썬에서 이미지 다운로드, 저장 및 처리를 위한 강력한 라이브러리입니다. 이미지 파일을 읽어들일 수 있으며, 다양한 형식으로 저장할 수도 있습니다. 이 블로그 포스트에서는 imageio를 사용하여 이미지에 도형을 그리는 방법을 알아보겠습니다.

필수 요구사항

이 예제를 따라하기 위해 다음 사항들이 필요합니다:

pip install imageio

이미지 로딩하기

가장 먼저, 이미지를 로드해야 합니다. imageio는 다양한 이미지 형식을 지원하기 때문에 여러분이 사용하고자 하는 이미지 형식에 맞게 imageio.imread() 함수를 사용하여 이미지를 로드할 수 있습니다.

import imageio

image = imageio.imread('example.png')

도형 그리기

이제 이미지 상에 도형을 그려보겠습니다. imageio는 이미지를 NumPy 배열로 다루기 때문에, 도형을 그리기 위해서 NumPy의 함수들을 사용할 수 있습니다.

원 그리기

import numpy as np

# 원의 중심 좌표와 반지름을 지정합니다.
center = (100, 100)
radius = 50

# 원의 색상을 지정합니다. (빨강)
color = (255, 0, 0)

# 이미지 상에 원을 그립니다.
image = cv2.circle(image, center, radius, color, -1)

사각형 그리기

# 사각형의 왼쪽 위와 오른쪽 아래 좌표를 지정합니다.
top_left = (50, 50)
bottom_right = (150, 150)

# 사각형의 색상을 지정합니다. (파랑)
color = (0, 0, 255)

# 이미지 상에 사각형을 그립니다.
image = cv2.rectangle(image, top_left, bottom_right, color, -1)

주의: 이미지 상에 도형을 그리기 전에, NumPy 배열을 복사하여 사용해야 합니다. 그렇지 않을 경우 원본 이미지가 수정될 수 있습니다.

이미지 저장하기

마지막으로, 수정된 이미지를 저장할 수 있습니다. imageio는 다양한 형식을 지원하기 때문에, 사용하고자 하는 형식에 맞게 imageio.imwrite() 함수를 사용하여 이미지를 저장할 수 있습니다.

imageio.imwrite('result.png', image)

이제 이미지에 도형을 그리는 방법에 대해 알아보았습니다. imageio를 사용하여 이미지를 로드하고, 원 또는 사각형을 그리고, 결과 이미지를 저장하는 방법을 배웠습니다. 이를 응용하여 다양한 형태의 도형을 그릴 수 있으며, 이미지 처리 작업에서 유용하게 사용할 수 있습니다.

참고 자료