[케라스] 이미지 증식하기 코드

2020. 4. 24. 15:42노트/Python : 프로그래밍

 

데이터

 

do.zip
0.25MB

 

이미지증식기 클래스 불러오기 

from keras.preprocessing.image import array_to_img, img_to_array, load_img

# 이미지 증식 
augGen=ImageDataGenerator(rescale=1./255,
                  rotation_range=15,
                  width_shift_range=0.1,
                  height_shift_range=0.1,
                  shear_range=0.5,
                  zoom_range=[0.8,2.0],
                  horizontal_flip=True,
                  vertical_flip=True,
                  fill_mode='nearest')

ImageDataGenerator 내 속성이 랜덤으로 적용됌. 

 

  • rotation_range: 회전, 90(0-90)사이 랜덤 
  • width_shift_range : 이동, (0~1) 이미지 사이의 비율 랜덤하게 이동 , 10% 좌/우 이동 
  • height_shift_range : 상하이동, 
  • shear_range : 변형, (0.5)(반시계 방향 )
  • zoom_range : 확대,축소 0.3(0.7~1.3 사이의 크기로 랜덤하게... )
  • horizontal_flip : 수평 방향 뒤집기
  • vertical_flip : 수직방향 뒤집기 

img=load_img((path+'train/triangle/triangle001.png'))
img
x=img_to_array(img)  # 이미지를 array로 변경 
x=x.reshape((1,)+x.shape) # img를 4차원으로 
x.shape
>>> (1, 24, 24, 3)

 

이미지증식

# 이미지 증식 
i=0
for batch in augGen.flow(x,batch_size=1, save_to_dir='store', save_prefix="tri",save_format="png"):
    i+=1
    if i > 50:
        break