[파이썬] imageio 데이터 URI로 이미지 쓰기

이미지 파일을 데이터 URI 형식으로 변환하여 웹 상에서 바로 이미지를 사용할 수 있습니다. Python의 imageio 라이브러리를 사용하면 간단하게 데이터 URI를 생성할 수 있습니다.

imageio 라이브러리 설치

먼저, imageio 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install imageio

이미지를 데이터 URI로 변환하기

imageio를 사용하여 이미지를 데이터 URI로 변환하기 위해서는 다음의 단계를 따릅니다.

  1. imageio를 임포트합니다.
  2. 이미지 파일을 읽어옵니다.
  3. imageio.imwrite() 함수를 사용하여 이미지를 원하는 형식으로 저장합니다.
  4. 데이터 URI로 변환합니다.

아래는 예시 코드입니다.

import imageio
import base64

# 이미지 파일 읽어오기
image = imageio.imread('example.png')

# 이미지를 원하는 형식으로 저장하기
temp_file = 'temp.jpg'  # 임시로 저장할 파일
imageio.imwrite(temp_file, image, format='JPEG')

# 데이터 URI로 변환
with open(temp_file, "rb") as file:
    data = file.read()
    base64_encoded_data = base64.b64encode(data).decode("utf-8")
    data_uri = f"data:image/jpeg;base64,{base64_encoded_data}"

위 코드에서 example.png는 변환하고자 하는 이미지 파일의 경로에 맞게 수정해야 합니다. 임시 파일명인 temp.jpg도 원하는 파일명으로 변경할 수 있습니다.

이제 data_uri 변수에 변환된 데이터 URI가 저장되었습니다.

데이터 URI로 이미지 사용하기

변환된 데이터 URI를 사용하면 HTML이나 CSS에 바로 이미지를 삽입할 수 있습니다. 예를 들어, HTML에서는 다음과 같이 이미지를 표시할 수 있습니다.


<img src="data:image/jpeg;base64,{{ data_uri }}" alt="Image">

위 코드에서 {{ data_uri }}는 서버 사이드 템플릿 엔진 등에서 실제 데이터 URI 값을 동적으로 삽입해야 합니다. 경우에 따라서는 이 값을 직접 입력해야 할 수도 있습니다.

이제 Python에서 imageio를 사용하여 이미지 파일을 데이터 URI로 변환하는 방법을 알게 되었습니다. 이를 활용하여 웹 애플리케이션 등에서 바로 이미지를 사용할 수 있도록 할 수 있습니다.