From 5e61f8c36bca23b7a2b168ebecd5df9b3ab44755 Mon Sep 17 00:00:00 2001 From: Qintefbr8 <1104320156@qq.com> Date: Sat, 6 Nov 2021 18:44:25 +0800 Subject: [PATCH] ADD file via upload --- simpledatasetloader.py | 46 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 simpledatasetloader.py diff --git a/simpledatasetloader.py b/simpledatasetloader.py new file mode 100644 index 0000000..bb64fad --- /dev/null +++ b/simpledatasetloader.py @@ -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])