def preprocess(opt, image_path, label_path): ## __getitem__ # label label = Image.open(label_path) params = get_params(opt, label.size) transform_label = get_transform(opt, params, method=Image.NEAREST, normalize=False) label_tensor = transform_label(label) * 255.0 label_tensor[label_tensor == 255] = opt.label_nc # image (Real) for path in os.listdir(image_path): image = Image.open(osp.join(image_path, path)) image = image.convert('RGB') transform_image = get_transform(opt, params) image_tensor = transform_image(image) instance_tensor = torch.Tensor([0]) return { 'label': label_tensor, 'instance': instance_tensor, 'image': image_tensor, 'path': image_path }
def get_input_by_names(self, image_path, image, label_img): label = Image.fromarray(label_img) params = get_params(self.opt, label.size) transform_label = get_transform(self.opt, params, method=Image.NEAREST, normalize=False) label_tensor = transform_label(label) * 255.0 label_tensor[label_tensor == 255] = self.opt.label_nc # 'unknown' is opt.label_nc label_tensor.unsqueeze_(0) # input image (real images)] # image = Image.open(image_path) # image = image.convert('RGB') transform_image = get_transform(self.opt, params) image_tensor = transform_image(image) image_tensor.unsqueeze_(0) # if using instance maps if self.opt.no_instance: instance_tensor = torch.Tensor([0]) input_dict = { 'label': label_tensor, 'instance': instance_tensor, 'image': image_tensor, 'path': image_path, } # Give subclasses a chance to modify the final output self.postprocess(input_dict) return input_dict
def __getitem__(self, index): # Label Image label_path = self.label_paths[index] label = Image.open(label_path) params = get_params(self.opt, label.size) transform_label = get_transform(self.opt, params, method=Image.NEAREST, normalize=False) label_tensor = transform_label(label) * 255.0 label_tensor[label_tensor == 255] = self.opt.label_nc # 'unknown' is opt.label_nc # input image (real images) image_path = self.image_paths[index] assert self.paths_match(label_path, image_path), \ "The label_path %s and image_path %s don't match." % \ (label_path, image_path) image = Image.open(image_path) image = image.convert('RGB') transform_image = get_transform(self.opt, params) image_tensor = transform_image(image) # if using instance maps if self.opt.no_instance: instance_tensor = 0 else: instance_path = self.instance_paths[index] instance = Image.open(instance_path) if instance.mode == 'L': instance_tensor = transform_label(instance) * 255 instance_tensor = instance_tensor.long() else: instance_tensor = transform_label(instance) input_dict = { 'label': label_tensor, 'instance': instance_tensor, 'image': image_tensor, 'path': image_path, } # Give subclasses a chance to modify the final output self.postprocess(input_dict) return input_dict