parent
29a0f7e49a
commit
5e61f8c36b
@ -0,0 +1,46 @@
|
|||||||
|
import numpy as np
|
||||||
|
import cv2
|
||||||
|
import os
|
||||||
|
|
||||||
|
class SimplePreprocessor:
|
||||||
|
def __init__(self, width, height, inter=cv2.INTER_AREA):
|
||||||
|
self.width = width
|
||||||
|
self.height = height
|
||||||
|
self.inter = inter
|
||||||
|
def preprocess(self, image):
|
||||||
|
return cv2.resize(image, (self.width, self.height), interpolation=self.inter)
|
||||||
|
|
||||||
|
class SimpleDatasetLoader:
|
||||||
|
def __init__(self, preprocessors=None):
|
||||||
|
self.preprocessors = preprocessors
|
||||||
|
|
||||||
|
if self.preprocessors is None:
|
||||||
|
self.preprocessors = []
|
||||||
|
|
||||||
|
def load(self, imagePaths, verbose=-1):
|
||||||
|
data = []
|
||||||
|
labels = []
|
||||||
|
for (i, imagePath) in enumerate(imagePaths):
|
||||||
|
image = cv2.imread(imagePath)
|
||||||
|
label = imagePath.split(os.path.sep)[-2]
|
||||||
|
if self.preprocessors is not None:
|
||||||
|
for p in self.preprocessors:
|
||||||
|
if(image is None):
|
||||||
|
print(i)
|
||||||
|
os.remove(imagePaths[i])
|
||||||
|
print('file: ')
|
||||||
|
print(imagePaths[i])
|
||||||
|
print('is removed.')
|
||||||
|
continue
|
||||||
|
image = p.preprocess(image)
|
||||||
|
data.append(image)
|
||||||
|
labels.append(label)
|
||||||
|
if verbose > 0 and i > 0 and (i + 1 ) %verbose == 0:
|
||||||
|
print('[INFO] processed {}/{}'.format( i +1, len(imagePaths)))
|
||||||
|
|
||||||
|
return (np.array(data), np.array(labels))
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
imagePaths = 'D:/python/LearningMaterial/pet_sample/'
|
||||||
|
sp = SimplePreprocessor(32, 32)
|
||||||
|
sdl = SimpleDatasetLoader(preprocessors=[sp])
|
Loading…
Reference in new issue