Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
    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
Ejemplo n.º 4
0
 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
Ejemplo n.º 5
0
 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
Ejemplo n.º 6
0
 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
Ejemplo n.º 7
0
 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
Ejemplo n.º 8
0
 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
Ejemplo n.º 9
0
 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
Ejemplo n.º 10
0
 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
Ejemplo n.º 11
0
 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
Ejemplo n.º 12
0
 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
Ejemplo n.º 13
0
 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
Ejemplo n.º 14
0
 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)
Ejemplo n.º 15
0
    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
Ejemplo n.º 16
0
    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
Ejemplo n.º 17
0
 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
Ejemplo n.º 18
0
 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
Ejemplo n.º 19
0
 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
Ejemplo n.º 20
0
    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