Keras의 keras.preprocessing.image 사용법 망록

6378 단어 파이썬Keras
keras.preprocessing.image에 있는 이미지의 로드나 조작 등을 여러가지 시험했습니다.

이미지 로드



load_img 함수를 사용하여 이미지를 읽을 수 있습니다.
이미지는 PIL 형식으로 읽혀지므로 NN의 훈련용, 예측용 등으로 사용할 때는 numpy의 array형으로 변환할 필요가 있다.
import keras
keras.preprocessing.image.load_img(
    path, grayscale=False, color_mode="rgb", target_size=None, interpolation="nearest"
)


인수
설명
지정 방법


path
이미지 경로 (절대 또는 상대가 될 수 있음)
경로 문자열

grayscale
그레이 스케일 설정이지만 공식적으로 사용되지 않으며 color_mode로 지정해야합니다.
True or False

color_mode
가져온 이미지의 형식을 지정할 수 있습니다. 'grayscale', 'rgb', 'rgba'가 있으며 기본값은 'rgb'
'grayscale' 또는 'rgb' 또는 'rgba'

target_size
가져올 이미지의 크기를 int 튜플로 지정
(width, height)

interpolation
이미지를 보완하는 방법. 원본 이미지와 target_size에 차이가 있을 때 이미지를 보완합니다. "nearest", "bilinear", "bicubic", "lanczos", "box", "hamming"의 종류를 보완하는 방법이 지원된다. 기본적으로 "nearest"
"nearest"또는 "bilinear"또는 "bicubic"또는 "lanczos"또는 "box"또는 "hamming"


실천



이미지 로드
from keras.preprocessing.image import load_img
import matplotlib.pyplot as plt

#基本的にはpath,color_code,target_sizeをしておけば良い
#読み込み自体はここだけで完了!
img = load_img("taiju.jpg", color_mode='rgb', target_size=(700,700))
array = img_to_array(img) 
gray_img = load_img("taiju.jpg", color_mode='grayscale', target_size=(28,28))
gray_array = img_to_array(gray_img)

testlist=[]
testlist.append(array)
testlist.append(gray_array)
imglist=[]
imglist.append(img)
imglist.append(gray_img)

#mnistを利用したニューラルネットワークなどで使う際の形式
print("arrayの形式:",array.shape)
print("gray_arrayの形式:",gray_array.shape)
#matplotを使った画像の表示
for i in range(2):
  plt.subplot(1,5,i+1)
  plt.imshow(imglist[i],'gray')
plt.show

이것을 실행하면 다음과 같습니다.

첫 번째 이미지는 img = load_img("taiju.jpg", color_mode='rgb', target_size=(700,700))로 읽은 이미지이며, 풀 컬러의 세로/가로 700pixel의 원래 이미지 크기로 읽어오기 때문에 선명하게 표시됩니다.
두 번째 이미지는 gray_img = load_img("taiju.jpg", color_mode='grayscale', target_size=(28,28))로 읽은 이미지로, 그레이 스케일로 변환되어 종횡 28pixel로 축소되어 표시됩니다 있습니다. 따라서 불선명하고 거친 이미지가 보입니다.
또한 img_to_array 함수를 사용하여 numpy의 array형으로 변환할 수 있으며 신경망에서 작성한 모델에 의한 예측 등에도 활용할 수 있습니다.

좋은 웹페이지 즐겨찾기