728x90

파이썬의 내장 함수를 이용하여 이미지 불러오고 표시하기

들어가며

  • 파이썬에서 기본적으로 제공되는 내장 함수를 이용하여 이미지를 불러온 후, 출력해보자.

 

방법

  • 파이썬에서 이미지를 불러오고 표현하려면 @requests@, @io@, @PIL@ 모듈(파이썬을 설치할 때 포함되는 내장 함수이다.)을 불러오면 된다.
import requests
from io import BytesIO
from PIL import Image

image_url = 'https://storage.googleapis.com/petbacker/images/blog/2017/dog-and-cat-cover.jpg'
image = Image.open(BytesIO(requests.get(image_url).content))
image

 

  • 설명과 함께 코드를 이해해보자. (설명은 주석으로 적어 놓았다.)
import requests
from io import BytesIO
from PIL import Image

image_url = 'https://storage.googleapis.com/petbacker/images/blog/2017/dog-and-cat-cover.jpg'
response = requests.get(image_url)    
response  # 이미지 불러오기 (200번대가 뜨면 성공, 400번/500번대가 뜨면 서버에서 거부한 것이다.)
"""
<Response [200]>
"""

response.content    # 이미지에 해당되는 코드 출력 (맨 앞의 x 표시는 이 파일이 바이너리 파일임을 나타낸다. (16진수) -> 텍스트 파일이 아니다.)
"""
b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb
\x00\x84\x00\x0b\x08\x08\n\x08\x07\x0b\n\t\n\r\x0c\x0b\r\x11\x1c\x12\x11\x0f\x0f\x11"
\x19\x1a\x14\x1c)$+*($\'\'-2@7-0=0\'\'8L9=CEHIH+6OUNFT@GHE ... (생략)
"""

# 이미지를 표시하기 위해 바이트 단위로 재조립한다.
img = BytesIO(response.content)
img
"""
<_io.BytesIO at 0x19dd749cef0>
"""

# 이미지를 표시한다.
image = Image.open(img)
image

 

사용 예

728x90