[머신러닝 기초] 이미지 파일 시각화 Image PIL

0

머신러닝 원리

TensorFlow 홈페이지를 방문하면 ‘왜? 우리는 TensorFlow를 사용해야 하는가?’를 주제로 영상이 있습니다.

이 영상의 핵심은 이미지를 픽셀 단위로 쪼개서 컴퓨터가 이를 인식하고 해석하는 방식으로 머신러닝을 이야기합니다.

[머신러닝 기초] 이미지 파일 시각화 Image PIL
출처 : TensorFlow 홈페이지

이번 주제는 머신러닝의 기초인 이미지 파일 불러오기 및 시각화에 대해 이야기해 보겠습니다.


사용 모듈 numpy / Image / matplotlib

import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
%matplotlib inline

Step1. 이미지 파일 불러오기

여러 종류의 이미지 사이트가 있습니다. 그곳에서 알맞은 이미지를 다운로드합니다.

  • https://pixabay.com/
[머신러닝 기초] 이미지 파일 시각화 Image PIL
출처 : 픽사베이_사자
# 파일 경로 정하기
lion = 'img/lion.jpg'

# 이미지로 사진 불러오기
im_pil_1 = Image.open(lion)

# 이미지로 리스트 만들기
im_lion = np.array(im_pil)

우선 사자 사진을 불러옵니다. 이때 사용하는 모듈은 Image을 사용합니다. 불러온 Image를 numpy를 통하여 리스트에 넣습니다.

im_lion.shape

사자 사진의 모양을 보면 (1280, 1920, 3)로써 가로 1920픽셀 X 세로 1280을 알 수 있습니다. 여기서 ‘3’이 나타내는 의미는 사진이 RGB color로 되어있는 칼라 사진을 뜻합니다.


Step2. 이미지 파일 시각화

이미지를 불러왔으면 좌표로 표현해 보겠습니다.

plt.imshow(im_lion)
plt.show()
[머신러닝 기초] 이미지 파일 시각화 Image PIL

pyplot 모듈의 imshow를 이용하면 이미지를 좌표로 표현할 수 있습니다.


Step3. 여러 종류의 색상으로 표현하기

좌표로 이미지를 표현했다면 상황에 맞는 색을 우리는 선택할 수 있습니다. 색을 변경하기 위해서는 RGB color로 되어있는 사진을 단색(monchrome)으로 변환시켜 주어야 합니다.

#불러온 사자 사진을 convert('L')을 통해 단색으로 변환
image_mo = im_pil_1.convert('L')
im_lion_mo = np.array(image_mo)
im_lion_mo.shape 

단색으로 표현된 사자의 shape은 (1280, 1920)입니다.

array([[[0, 0, 0],
        [0, 0, 0],
        [0, 0, 0],
        ...,
        [1, 1, 1],
        [1, 1, 1],
        [1, 1, 1]],

shape (1280, 1920, 3)

array([[0, 0, 0, ..., 1, 1, 1],
       [0, 0, 0, ..., 1, 1, 1],
       [0, 0, 0, ..., 1, 1, 0],
       ...,

shape (1280, 1920)

좌표로 나타내면

plt.imshow(im_lion_mo)
plt.show()
[머신러닝 기초] 이미지 파일 시각화 Image PIL
단색(monochrome)

위와 같이 표현됩니다. 이 그림은 여러 가지 색을 입힐 수 있습니다.

색 종류설명
‘Greys’회색
‘Purples’보라색
‘Blues’파란색
‘Greens’초록색
‘Oranges’오렌지색
‘Reds’빨간색
‘YlOrBr’노랑 오렌지 갈색
‘YlOrRd’노랑 오렌지 빨강
‘OrRd’오렌지 빨강
‘PuRd’보라 빨강
‘RdPu’빨강 보라
‘BuPu’파랑 보라
# 빨강 보라색
plt.imshow(im_lion_mo, 'RdPu')
plt.show()
[머신러닝 기초] 이미지 파일 시각화 Image PIL
RdPu

이것 이외에도 ‘hot’, ‘cool’ 등등 여러 가지 표현이 있습니다.

[머신러닝 기초] 이미지 파일 시각화 Image PIL
hot
[머신러닝 기초] 이미지 파일 시각화 Image PIL
cool

Tip. 추가 팁

Colorbar 및 제목 추가하기

#노랑 오렌지 갈색
plt.imshow(im_lion_mo, 'YlOrBr')
# 컬러바 추가
plt.colorbar()
#제목 추가
plt.title('Lion')
plt.show()
[머신러닝 기초] 이미지 파일 시각화 Image PIL

회신을 남겨주세요

귀하의 의견을 입력하십시오!
여기에 이름을 입력하십시오.