Keras CNN 트레이닝 데이터 (1): 사진 예처리

2013 단어 심도 있는 학습
이미지 프리 프로세싱에는 이미지의 이름 재정의, 크기 재정의, 리스트, 이미지 및 레이블에 이미지 로드 등이 포함됩니다.
이미지 이름을 재정의하는 코드는 다음과 같습니다.
import os
import numpy as np
from PIL import Image

#    
def FileRename(DogType,FilePath):
    #DogType:      
    #FilePath:      
    type_counter = 0
    for type in DogType:
        file_counter = 0
        subfolder = os.listdir(FilePath + type)
        for subclass in subfolder:
            file_counter += 1
            os.rename(FilePath + type +'/' + subclass, FilePath + type + '/' +                 
                      str(type_counter) + '_' + str(file_counter) + 
                      subclass.split('.')[0] + '.jpg')
        type_counter += 1

그림 크기를 재정의하는 코드는 다음과 같습니다.
def FileResize(Output_floder, DogType, FilePath, Width = 100, Hight = 100):
    #Output_floder:            
    #DogType:      
    #FilePath:      
    #Width:      
    #Hight:      
    for type in DogType:
        for i in os.listdir(FilePath + type):
            img_open = Image.open(FilePath + type + '/' + i)
            conv_RGB = img_open.convert('RGB')
            Resize_img = conv_RGB.reszie((Width, Hight), Image.BILINEAR)
            Resize_img.save(os.path.join(Output_floder,os.path.basename(i)))

목록, 이미지 및 레이블에 이미지를 로드하는 코드는 다음과 같습니다.
#       array
def Readimage(filename, train_folder):
    #filename:        
    #train_folder:        
    image = Image.open(train_folder + filename)
    return np.array(image)
#               
def DataSet(train_folder):
    #train_folder:      
    Train_imge_list = []
    Train_label_list = []
    for file in os.listdir(train_folder):
        file_to_array = Readimage(filename=file, train_folder = train_folder)
        Train_imge_list.append(file_to_array)
        Train_label_list.append(int(file.split('_')[0]))
    Train_imge_list = np.array(Train_imge_list)
    Train_label_list = np.array(Train_label_list)

좋은 웹페이지 즐겨찾기