def __init__(self,image_options,path):
self.image_options = {'resize': True, 'resize_size': IMAGE_SIZE}
self.path="/data0/user/data/fenlei/datadir"
def _read_images(self):
self.__channels = True
self.all_path=[]
self.solupath=[]
self.label = []
# 得到模型下所有的数据绝对路径
directories = [x[0] for x in os.walk(self.path)]
#directories[0]代表的是主文件路劲,[1:]代表的是子文件夹路径
self.label=[]
num=0
for label,directory in enumerate(directories[1:]):
class_num= [os.path.join(label) for label in os.listdir(directory)]
self.all_path = [os.path.join(directory,label) for label in class_num]
self.solupath.extend(self.all_path)
for i,j in enumerate(self.all_path):
self.label.append(num)
num+=1
self.images=np.array([self._transform(img) for img in self.solupath])
return self.images, np.array(self.label)
def _transform(self,filename):
image = misc.imread(filename)
if self.__channels and len(image.shape)<3:
image = np.array([image for i in range(3)])
if self.image_options.get("resize", False) and self.image_options["resize"]:
resize_size = int(self.image_options["resize_size"])
resize_image = misc.imresize(image,
[resize_size, resize_size], interp='nearest')
else:
resize_image = image
return np.array(resize_image)