def output_x(self, image_path): path = check_download(image_path, DATA_PATH) images = cv2.imread(path) images = cv2.resize(images, (self.img_size[1], self.img_size[0]), interpolation=cv2.INTER_CUBIC) images = images / 255 return images
def input_x(self, image_path): ''' 参数为csv中作为输入x的一条数据,该方法会被Dataset多次调用 ''' path = check_download(image_path, DATA_PATH) path = path.replace('\\','/') image = Image.open(path).convert('L') image = image.rotate(45) #针对原始图像,旋转45度尽可能保留非0数据 x_data = numpy.array(image) line, columns = numpy.nonzero(x_data) #选择非0区域 lmin = min(line) # 有非0像素的最小行 lmax = max(line) colmin = min(columns) colmax = max(columns) image = Image.fromarray(x_data) image = image.crop((colmin, lmin, colmax, lmax)) image = image.resize((224, 224)) #确定尺寸 # image = image.resize((32, 32)) x_data = numpy.array(image) x_data = x_data.astype(numpy.float32) x_data = x_data.reshape([224, 224, 1]) # x_data = x_data.reshape([32, 32, 1]) x_data = numpy.transpose(x_data, (2, 0, 1)) ## reshape return x_data
def output_x(self, image_path): path = check_download(image_path, DATA_PATH) img = image.load_img(path, target_size=(origin_size[0], origin_size[1])) x_data = image.img_to_array(img) x_data = preprocess_input(x_data) x_data = crop_image_center_80percent_to_input_function(x_data) return x_data
def input_x(self, image_path): ''' 参数为csv中作为输入x的一条数据,该方法会被Dataset多次调用 ''' path = check_download(image_path, DATA_PATH) path = path.replace('\\', '/') image = Image.open(path).convert('RGB') return image
def output_x(self, image_path): path = check_download(image_path, DATA_PATH) image = cv2.imread(path) image = cv2.resize(image, (224, 224), interpolation=cv2.INTER_CUBIC) x_data = numpy.array(image) x_data = x_data.astype(numpy.float32) x_data = numpy.multiply(x_data, 1.0 / 255.0) return x_data
def output_x(self, image_path): path = check_download(image_path, DATA_PATH) image = Image.open(path).convert('L') x_data = numpy.array(image) x_data = x_data.astype(numpy.float32) x_data = numpy.multiply(x_data, 1.0 / 255.0) x_data = x_data.reshape(28, 28, 1) return x_data
def output_x(self, image_path): path = check_download(image_path, DATA_PATH) image = Image.open(path) image = image.convert("RGB") image = image.resize((64, 64), Image.BILINEAR) x_data = numpy.array(image) x_data = x_data.astype(numpy.float32) x_data = numpy.multiply(x_data, 1.0 / 255.0) return x_data
def input_x(self, image_path): ''' 参数为csv中作为输入x的一条数据,该方法会被Dataset多次调用 ''' # path 为图片的真实路径 path = check_download(image_path, DATA_PATH) image = cv2.imread(path) image = np.array(image) # 图片转化为矩阵向量 image = transform.resize(image, output_shape=(80, 80)) return image
def input_x(self, image_path): path = check_download(image_path, DATA_PATH) image = cv2.imread(path) image =cv2.cvtColor(image,cv2.COLOR_RGB2GRAY) image = cv2.cvtColor(image, cv2.COLOR_GRAY2BGR) # image = cv2.cvtColor(image,cv2.IMREAD_GRAYSCALE) image = cv2.resize(image, (224, 224) ,interpolation=cv2.INTER_CUBIC) x_data = numpy.array(image) x_data = x_data.astype(numpy.float32) x_data = numpy.multiply(x_data, 1.0 / 255.0) return x_data
def input_x(self, image_path): ''' 参数为csv中作为输入x的一条数据,该方法会被Dataset多次调用 ''' # path 为图片的真实路径 path = check_download(image_path, DATA_PATH) img = io.imread(path) img = np.array(img) # 图片转化为矩阵向量 input_x = transform.resize(img, output_shape=(224, 224)) input_x = input_x.astype(np.float32) return input_x
def input_x(self, image_path): path = check_download(image_path, DATA_PATH) image = cv2.imread(path) image = cv2.resize(image, (224, 224), interpolation=cv2.INTER_CUBIC) x_data = numpy.array(image) # print("1-", x_data.shape) x_data = x_data.astype(numpy.float32) # print("2-", x_data.shape) x_data = numpy.multiply(x_data, 1.0 / 255.0) x_data = numpy.transpose(x_data, (2, 0, 1)) # reshape # print("3-", x_data.shape) return x_data
def input_x(self, image_path): ''' 参数为csv中作为输入x的一条数据,该方法会被Dataset多次调用 ''' # path 为图片的真实路径 path = check_download(image_path, DATA_PATH) image = cv2.imread(path) image = cv2.resize(image, (200, 200), interpolation=cv2.INTER_CUBIC) x_data = numpy.array(image) x_data = x_data.astype(numpy.float32) x_data = numpy.multiply(x_data, 1.0 / 255.0) return x_data
def output_x(self, image_path): path = check_download(image_path, DATA_PATH) image = Image.open(path).convert('RGB') self.transform = transforms.Compose([ transforms.Resize((224, 224)), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) x_data = self.transform(image) x_data = numpy.array(x_data) return x_data
def input_x(self, image_path): ''' 参数为csv中作为输入x的一条数据,该方法会被Dataset多次调用 ''' path = check_download(image_path, DATA_PATH) path = path.replace('\\','/') image = Image.open(path) image = image.resize((128, 128)) x_data = numpy.array(image) #(width, height, channel) x_data = x_data.astype(numpy.float32) x_data = numpy.multiply(x_data, 1.0 / 255.0) ## scale to [0,1] from [0,255] x_data = numpy.transpose(x_data, (2, 0, 1)) ## reshape to (channel, width, height) return x_data #(channel, width, height)
def output_x(self, image_path): path = check_download(image_path, DATA_PATH) # image = cv2.imread(path) # image = cv2.resize(image, (224, 224)) # image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) img = image.load_img(path, target_size=(img_size[0], img_size[1])) x_data = image.img_to_array(img) # x_data = numpy.expand_dims(x_data, axis=0) x_data = preprocess_input(x_data) # x_data = numpy.array(image) # x_data = x_data.astype(numpy.float32) # x_data = numpy.multiply(x_data, 1.0 / 255.0) return x_data
def input_x(self, image_path): path = check_download(image_path, DATA_PATH) images = cv2.imread(path) # 随机偏移 # rand_x = np.random.randint(0, 50, 1)[0] # rand_y = np.random.randint(0, 50, 1)[0] # M = np.float32([[1, 0, rand_x], [0, 1, rand_y]]) # images = cv2.warpAffine(images, M, (images.shape[1], images.shape[0])) # self.img_augment[image_path] = [rand_x, rand_y] images = cv2.resize(images, (self.img_size[1], self.img_size[0]), interpolation=cv2.INTER_CUBIC) images = images / 255 return images
def input_x(self, image_path): ''' 参数为csv中作为输入x的一条数据,该方法会被Dataset多次调用 ''' path = check_download(image_path, DATA_PATH) path = path.replace('\\', '/') image = Image.open(path).convert('L') image = image.crop((32, 32, 223, 223)) image = image.resize((128, 128)) x_data = numpy.array(image) x_data = x_data.astype(numpy.float32) x_data = x_data.reshape([128, 128, 1]) x_data = numpy.multiply(x_data, 1.0 / 255.0) ## scale to [0,1] from [0,255] x_data = numpy.transpose(x_data, (2, 0, 1)) ## reshape return x_data
def output_x(self, image_path): ''' 测试时使用,数据增强 ''' path = check_download(image_path, DATA_PATH) x = Image.open(path).convert('RGB') w,h=x.size if h<512: x = T.Resize((512,int(512 * (512 / h))))(x) if w<512: x=T.Resize((int(512*(512/w)),512))(x) x=T.CenterCrop((448,448))(x) #x=T.RandomCrop((448,448))(x) x = T.ToTensor()(x) x = T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])(x) return x
def input_x(self, image_path): ''' 参数为csv中作为输入x的一条数据,该方法会被Dataset多次调用 ''' path = check_download(image_path, DATA_PATH) #DATA_PATH=/data/train_code/tain63cd6642bd2d8d24de80cac9/data/input x = Image.open(path).convert('RGB') w,h=x.size if h<512: x = T.Resize((512,int(512 * (512 / h))))(x) if w<512: x=T.Resize((int(512*(512/w)),512))(x) x=T.RandomCrop((448,448))(x) x=T.RandomHorizontalFlip()(x) x = T.ToTensor()(x) x = T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])(x) return x
def input_x(self, image_path): ''' 参数为csv中作为输入x的一条数据,该方法会被Dataset多次调用 ''' path = check_download(image_path, DATA_PATH) path = path.replace('\\', '/') img = image.load_img(path, target_size=img_size) x = image.img_to_array(img) # image = Image.open(path) # image = image.resize(img_size) # x_data = numpy.array(image) # x_data = x_data.astype(numpy.float32) # x_data = numpy.multiply(x_data, 1.0 / 255.0) ## scale to [0,1] from [0,255] #使用Keras不需要转置 # x_data = numpy.transpose(x_data, (2, 0, 1)) ## reshape return x
def input_x(self, image_path): ''' 参数为csv中作为输入x的一条数据,该方法会被Dataset多次调用 ''' path = check_download(image_path, DATA_PATH) path = path.replace('\\', '/') image = Image.open(path) # image = image.resize((128, 128)) #image = image.resize((200, 200)) x_data = numpy.array(image) #print("x_data.shape = ", x_data.shape) x_data = x_data.astype(numpy.float32) x_data = numpy.multiply(x_data, 1.0 / 255.0) ## scale to [0,1] from [0,255] #print("x_data = ", x_data) #x_data = numpy.transpose(x_data, (2, 0, 1)) ## reshape #print("x_data = ", x_data.shape) return x_data