Python skimage.transform.resize() Examples
The following are 30
code examples of skimage.transform.resize().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
skimage.transform
, or try the search function
.

Example #1
Source File: nstyle.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 6 votes |
def PreprocessContentImage(path, long_edge): img = io.imread(path) logging.info("load the content image, size = %s", img.shape[:2]) factor = float(long_edge) / max(img.shape[:2]) new_size = (int(img.shape[0] * factor), int(img.shape[1] * factor)) resized_img = transform.resize(img, new_size) sample = np.asarray(resized_img) * 256 # swap axes to make image from (224, 224, 3) to (3, 224, 224) sample = np.swapaxes(sample, 0, 2) sample = np.swapaxes(sample, 1, 2) # sub mean sample[0, :] -= 123.68 sample[1, :] -= 116.779 sample[2, :] -= 103.939 logging.info("resize the content image to %s", new_size) return np.resize(sample, (1, 3, sample.shape[1], sample.shape[2]))
Example #2
Source File: mxnet_predict_example.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 6 votes |
def PreprocessImage(path, show_img=False): # load image img = io.imread(path) print("Original Image Shape: ", img.shape) # we crop image from center short_egde = min(img.shape[:2]) yy = int((img.shape[0] - short_egde) / 2) xx = int((img.shape[1] - short_egde) / 2) crop_img = img[yy : yy + short_egde, xx : xx + short_egde] # resize to 224, 224 resized_img = transform.resize(crop_img, (224, 224)) # convert to numpy.ndarray sample = np.asarray(resized_img) * 255 # swap axes to make image from (224, 224, 3) to (3, 224, 224) sample = np.swapaxes(sample, 0, 2) sample = np.swapaxes(sample, 1, 2) # sub mean return sample # Get preprocessed batch (single image batch)
Example #3
Source File: vfn_eval.py From view-finding-network with GNU General Public License v3.0 | 6 votes |
def evaluate_sliding_window(img_filename, crops): img = io.imread(img_filename).astype(np.float32)/255 if img.ndim == 2: # Handle B/W images img = np.expand_dims(img, axis=-1) img = np.repeat(img, 3, 2) img_crops = np.zeros((batch_size, 227, 227, 3)) for i in xrange(len(crops)): crop = crops[i] img_crop = transform.resize(img[crop[1]:crop[1]+crop[3],crop[0]:crop[0]+crop[2]], (227, 227))-0.5 img_crop = np.expand_dims(img_crop, axis=0) img_crops[i,:,:,:] = img_crop # compute ranking scores scores = sess.run([score_func], feed_dict={image_placeholder: img_crops}) # find the optimal crop idx = np.argmax(scores[:len(crops)]) best_window = crops[idx] # return the best crop return (best_window[0], best_window[1], best_window[2], best_window[3])
Example #4
Source File: data_loader.py From Keras-GAN with MIT License | 6 votes |
def setup_mnist(self, img_res): print ("Setting up MNIST...") if not os.path.exists('datasets/mnist_x.npy'): # Load the dataset (mnist_X, mnist_y), (_, _) = mnist.load_data() # Normalize and rescale images mnist_X = self.normalize(mnist_X) mnist_X = np.array([imresize(x, img_res) for x in mnist_X]) mnist_X = np.expand_dims(mnist_X, axis=-1) mnist_X = np.repeat(mnist_X, 3, axis=-1) self.mnist_X, self.mnist_y = mnist_X, mnist_y # Save formatted images np.save('datasets/mnist_x.npy', self.mnist_X) np.save('datasets/mnist_y.npy', self.mnist_y) else: self.mnist_X = np.load('datasets/mnist_x.npy') self.mnist_y = np.load('datasets/mnist_y.npy') print ("+ Done.")
Example #5
Source File: image_utils.py From keras-ctpn with Apache License 2.0 | 6 votes |
def resize_image(image, max_dim): """ 缩放图像为正方形,指定长边大小,短边padding; :param image: numpy 数组(H,W,3) :param max_dim: 长边大小 :return: 缩放后的图像,元素图像的宽口位置,缩放尺寸,padding """ image_dtype = image.dtype h, w = image.shape[:2] scale = max_dim / max(h, w) # 缩放尺寸 image = transform.resize(image, (round(h * scale), round(w * scale)), order=1, mode='constant', cval=0, clip=True, preserve_range=True) h, w = image.shape[:2] # 计算padding top_pad = (max_dim - h) // 2 bottom_pad = max_dim - h - top_pad left_pad = (max_dim - w) // 2 right_pad = max_dim - w - left_pad padding = [(top_pad, bottom_pad), (left_pad, right_pad), (0, 0)] image = np.pad(image, padding, mode='constant', constant_values=0) # 原始图像在缩放图像上的窗口位置 window = (top_pad, left_pad, h + top_pad, w + left_pad) # return image.astype(image_dtype), window, scale, padding
Example #6
Source File: util.py From DepthNets with MIT License | 6 votes |
def get_data_from_id(root, mode, id_): """ Returns: - img_downsized: this is the image in 128px res. - y_keypts: the keypts in range [0, 1]. To plot these, multiply by 128., and overlay these on img_downsized. - z_keypts: the z keypoints normalised. """ img = imread("%s/%s_img/%s.jpg" % (root,mode,id_)) keypts = read_kpt_file("%s/%s_lm/%s_lm.csv" % (root,mode,id_)) # We want the img + keypts in 128x128px img so preproc them # accordingly. img_downsized = resize(img, (128,128)) y_keypts = np.copy(keypts)[:,0:2] y_keypts[:,0] = y_keypts[:,0] / float(img.shape[1]) # x's y_keypts[:,1] = y_keypts[:,1] / float(img.shape[0]) # y's avg_sz = (img.shape[0]+img.shape[1]) / 2. z_keypts = keypts[:,2] / avg_sz # what range?? return img_downsized, y_keypts, z_keypts
Example #7
Source File: image_utils.py From ludwig with Apache License 2.0 | 6 votes |
def resize_image(img, new_size_typle, resize_method): try: from skimage import img_as_ubyte from skimage.transform import resize except ImportError: logger.error( ' scikit-image is not installed. ' 'In order to install all image feature dependencies run ' 'pip install ludwig[image]' ) sys.exit(-1) if tuple(img.shape[:2]) != new_size_typle: if resize_method == CROP_OR_PAD: return crop_or_pad(img, new_size_typle) elif resize_method == INTERPOLATE: return img_as_ubyte(resize(img, new_size_typle)) raise ValueError( 'Invalid image resize method: {}'.format(resize_method)) return img
Example #8
Source File: vis_utils.py From ASFF with GNU General Public License v3.0 | 6 votes |
def add_heat(image, heat_map, max_v, min_v, alpha=0.4, save=None, cmap='jet', axis='off'): height = image.shape[0] width = image.shape[1] # resize heat map heat_map_resized = transform.resize(heat_map, (height, width)) # normalize heat map max_value = max_v min_value = min_v normalized_heat_map = (heat_map_resized - min_value) / (max_value - min_value) # display plt.imshow(image) plt.imshow(255 * normalized_heat_map, alpha=alpha, cmap=cmap) plt.axis(axis) if save is not None: plt.savefig(save, bbox_inches='tight', pad_inches=0)
Example #9
Source File: heat_map.py From heatmap with MIT License | 6 votes |
def add(image, heat_map, alpha=0.6, display=False, save=None, cmap='viridis', axis='on', verbose=False): height = image.shape[0] width = image.shape[1] # resize heat map heat_map_resized = transform.resize(heat_map, (height, width)) # normalize heat map max_value = np.max(heat_map_resized) min_value = np.min(heat_map_resized) normalized_heat_map = (heat_map_resized - min_value) / (max_value - min_value) # display plt.imshow(image) plt.imshow(255 * normalized_heat_map, alpha=alpha, cmap=cmap) plt.axis(axis) if display: plt.show() if save is not None: if verbose: print('save image: ' + save) plt.savefig(save, bbox_inches='tight', pad_inches=0)
Example #10
Source File: complex.py From StyleGAN2_PyTorch with MIT License | 6 votes |
def work(self, tensor): """ Resize the tensor If the tensor is not in the range of [-1, 1], we will do the normalization automatically Arg: tensor - The np.ndarray object. The tensor you want to deal with Ret: The resized tensor """ # Normalize the tensor if needed mean, std = -1, -1 min_v = np.min(tensor) max_v = np.max(tensor) if not (max_v <= 1 and min_v >= -1): mean = 0.5 * max_v + 0.5 * min_v std = 0.5 * max_v - 0.5 * min_v # print(max_v, min_v, mean, std) tensor = (tensor - mean) / std # Work tensor = transform.resize(tensor, self.output_size, mode = 'constant', order = 0) # De-normalize the tensor if mean != -1 and std != -1: tensor = tensor * std + mean return tensor
Example #11
Source File: run_unet.py From DeepResearch with MIT License | 6 votes |
def create_dataset(paths, width_in, height_in, width_out, height_out, data_indexes, mat): x = [] y = [] for path in tqdm(paths): mat = scipy.io.loadmat(path) img_tensor = mat['images'] fluid_tensor = mat['manualFluid1'] img_array = np.transpose(img_tensor, (2, 0 ,1)) / 255 img_array = resize(img_array, (img_array.shape[0], width_in, height_in)) fluid_array = np.transpose(fluid_tensor, (2, 0 ,1)) fluid_array = thresh(fluid_array) fluid_array = resize(fluid_array, (fluid_array .shape[0], width_out, height_out)) for idx in data_indexes: x += [np.expand_dims(img_array[idx], 0)] y += [np.expand_dims(fluid_array[idx], 0)] return np.array(x), np.array(y)
Example #12
Source File: gan_lstm_two.py From Progressive-Generative-Networks with MIT License | 6 votes |
def __getitem__(self, idx): image_pos = self.lines.ix[idx, 0] image = io.imread(image_pos) image = image.astype(np.float) h,w = image.shape[:2] if(h<w): factor = h/350.0 w = w/factor h = 350 else: factor = w/350.0 h = h/factor w = 350 image = transform.resize(image, (int(h), int(w), 3)) image_id = self.lines.ix[idx, 1] sample = {'image': image, 'id': image_id} if self.trans is not None: sample = self.trans(sample) return sample
Example #13
Source File: gan_lstm.py From Progressive-Generative-Networks with MIT License | 6 votes |
def __getitem__(self, idx): image_pos = self.lines.ix[idx, 0] image = io.imread(image_pos) image = image.astype(np.float) h,w = image.shape[:2] if(h<w): factor = h/350.0 w = w/factor h = 350 else: factor = w/350.0 h = h/factor w = 350 image = transform.resize(image, (int(h), int(w), 3)) image_id = self.lines.ix[idx, 1] sample = {'image': image, 'id': image_id} if self.trans is not None: sample = self.trans(sample) return sample
Example #14
Source File: gan_lstm.py From Progressive-Generative-Networks with MIT License | 6 votes |
def __getitem__(self, idx): image_pos = self.lines.ix[idx, 0] image = io.imread(image_pos) image = image.astype(np.float) h,w = image.shape[:2] if(h<w): factor = h/350.0 w = w/factor h = 350 else: factor = w/350.0 h = h/factor w = 350 image = transform.resize(image, (int(h), int(w), 3)) image_id = self.lines.ix[idx, 1] sample = {'image': image, 'id': image_id} if self.trans is not None: sample = self.trans(sample) return sample
Example #15
Source File: gan_lstm_oval.py From Progressive-Generative-Networks with MIT License | 6 votes |
def __getitem__(self, idx): image_pos = self.lines.ix[idx, 0] image = io.imread(image_pos) image = image.astype(np.float) h,w = image.shape[:2] if(h<w): factor = h/350.0 w = w/factor h = 350 else: factor = w/350.0 h = h/factor w = 350 image = transform.resize(image, (int(h), int(w), 3)) image_id = self.lines.ix[idx, 1] sample = {'image': image, 'id': image_id} if self.trans is not None: sample = self.trans(sample) return sample
Example #16
Source File: gan_lstm_oval.py From Progressive-Generative-Networks with MIT License | 6 votes |
def __getitem__(self, idx): image_pos = self.lines.ix[idx, 0] image = io.imread(image_pos) image = image.astype(np.float) h,w = image.shape[:2] if(h<w): factor = h/350.0 w = w/factor h = 350 else: factor = w/350.0 h = h/factor w = 350 image = transform.resize(image, (int(h), int(w), 3)) image_id = self.lines.ix[idx, 1] sample = {'image': image, 'id': image_id} if self.trans is not None: sample = self.trans(sample) return sample
Example #17
Source File: prepare_omniglot.py From few-shot with MIT License | 6 votes |
def handle_alphabet(folder): print('{}...'.format(folder.split('/')[-1])) for rotate in [0, 90, 180, 270]: # Create new folders for each augmented alphabet mkdir(f'{folder}.{rotate}') for root, character_folders, _ in os.walk(folder): for character_folder in character_folders: # For each character folder in an alphabet rotate and resize all of the images and save # to the new folder handle_characters(folder, root + '/' + character_folder, rotate) # return # Delete original alphabet rmdir(folder) # Clean up previous extraction
Example #18
Source File: detector.py From blitznet with MIT License | 6 votes |
def draw_seg(self, img, seg_gt, segmentation, name): """Applies generated segmentation mask to an image""" palette = np.load('Extra/palette.npy').tolist() img_size = (img.shape[0], img.shape[1]) segmentation = imresize(segmentation, img_size, order=0, preserve_range=True).astype(int) image = Image.fromarray((img * 255).astype('uint8')) segmentation_draw = Image.fromarray((segmentation).astype('uint8'), 'P') segmentation_draw.putpalette(palette) segmentation_draw.save(self.directory + '/%s_segmentation.png' % name, 'PNG') image.save(self.directory + '/%s.jpg' % name, 'JPEG') if seg_gt: seg_gt_draw = Image.fromarray((seg_gt).astype('uint8'), 'P') seg_gt_draw.putpalette(palette) seg_gt_draw.save(self.directory + '/%s_seg_gt.png' % name, 'PNG')
Example #19
Source File: cnn_models.py From CNN_LCD with GNU General Public License v3.0 | 6 votes |
def overfeat_preprocess(img, resize): # Ensure single-precision img = img # Crop and resize image h0, w0 = img.shape[:2] # Compute crop indices d0 = min(h0, w0) hc = round((h0 - d0) / 2.) wc = round((w0 - d0) / 2.) # Center crop image (ensure 3 channels...) img = img[int(hc):int(hc + d0), int(wc):int(wc + d0), :] # Resize image img = skresize(img, (resize, resize), mode='constant', preserve_range=True, order=1).astype(np.float32) # Change channel order: h,w,c -> c,h,w img = np.rollaxis(img, 2, 0) return img
Example #20
Source File: saliency_visualization.py From VSE-C with MIT License | 5 votes |
def plot_saliency(raw_img, image_var, img_embedding_var, caption_var): dis = (caption_var.squeeze() * img_embedding_var.squeeze()).sum() dis.backward(retain_graph=True) grad = image_var.grad.data.cpu().squeeze().numpy().transpose((1, 2, 0)) grad = normalize_grad(grad, stat=True) grad = imresize((grad * 255).astype('uint8'), (raw_img.height, raw_img.width)) / 255 grad = normalize_grad(grad.mean(axis=-1, keepdims=True).repeat(3, axis=-1)) grad = np.float_power(grad, args.grad_power) np_img = np.array(raw_img) masked_img = np_img * grad final = np.hstack([np_img, masked_img.astype('uint8'), (grad * 255).astype('uint8')]) return Image.fromarray(final.astype('uint8'))
Example #21
Source File: nstyle.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 5 votes |
def get_args(arglist=None): parser = argparse.ArgumentParser(description='neural style') parser.add_argument('--model', type=str, default='vgg19', choices = ['vgg'], help = 'the pretrained model to use') parser.add_argument('--content-image', type=str, default='input/IMG_4343.jpg', help='the content image') parser.add_argument('--style-image', type=str, default='input/starry_night.jpg', help='the style image') parser.add_argument('--stop-eps', type=float, default=.005, help='stop if the relative chanage is less than eps') parser.add_argument('--content-weight', type=float, default=10, help='the weight for the content image') parser.add_argument('--style-weight', type=float, default=1, help='the weight for the style image') parser.add_argument('--tv-weight', type=float, default=1e-2, help='the magtitute on TV loss') parser.add_argument('--max-num-epochs', type=int, default=1000, help='the maximal number of training epochs') parser.add_argument('--max-long-edge', type=int, default=600, help='resize the content image') parser.add_argument('--lr', type=float, default=.001, help='the initial learning rate') parser.add_argument('--gpu', type=int, default=0, help='which gpu card to use, -1 means using cpu') parser.add_argument('--output_dir', type=str, default='output/', help='the output image') parser.add_argument('--save-epochs', type=int, default=50, help='save the output every n epochs') parser.add_argument('--remove-noise', type=float, default=.02, help='the magtitute to remove noise') parser.add_argument('--lr-sched-delay', type=int, default=75, help='how many epochs between decreasing learning rate') parser.add_argument('--lr-sched-factor', type=int, default=0.9, help='factor to decrease learning rate on schedule') if arglist is None: return parser.parse_args() else: return parser.parse_args(arglist)
Example #22
Source File: nstyle.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 5 votes |
def PreprocessStyleImage(path, shape): img = io.imread(path) resized_img = transform.resize(img, (shape[2], shape[3])) sample = np.asarray(resized_img) * 256 sample = np.swapaxes(sample, 0, 2) sample = np.swapaxes(sample, 1, 2) sample[0, :] -= 123.68 sample[1, :] -= 116.779 sample[2, :] -= 103.939 return np.resize(sample, (1, 3, sample.shape[1], sample.shape[2]))
Example #23
Source File: nstyle.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 5 votes |
def PostprocessImage(img): img = np.resize(img, (3, img.shape[2], img.shape[3])) img[0, :] += 123.68 img[1, :] += 116.779 img[2, :] += 103.939 img = np.swapaxes(img, 1, 2) img = np.swapaxes(img, 0, 2) img = np.clip(img, 0, 255) return img.astype('uint8')
Example #24
Source File: data_processing.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 5 votes |
def PreprocessContentImage(path, short_edge, dshape=None): img = io.imread(path) #logging.info("load the content image, size = %s", img.shape[:2]) factor = float(short_edge) / min(img.shape[:2]) new_size = (int(img.shape[0] * factor), int(img.shape[1] * factor)) resized_img = transform.resize(img, new_size) sample = np.asarray(resized_img) * 256 if dshape is not None: # random crop xx = int((sample.shape[0] - dshape[2])) yy = int((sample.shape[1] - dshape[3])) xstart = random.randint(0, xx) ystart = random.randint(0, yy) xend = xstart + dshape[2] yend = ystart + dshape[3] sample = sample[xstart:xend, ystart:yend, :] # swap axes to make image from (224, 224, 3) to (3, 224, 224) sample = np.swapaxes(sample, 0, 2) sample = np.swapaxes(sample, 1, 2) # sub mean sample[0, :] -= 123.68 sample[1, :] -= 116.779 sample[2, :] -= 103.939 #logging.info("resize the content image to %s", sample.shape) return np.resize(sample, (1, 3, sample.shape[1], sample.shape[2]))
Example #25
Source File: data_processing.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 5 votes |
def PostprocessImage(img): img = np.resize(img, (3, img.shape[2], img.shape[3])) img[0, :] += 123.68 img[1, :] += 116.779 img[2, :] += 103.939 img = np.swapaxes(img, 1, 2) img = np.swapaxes(img, 0, 2) img = np.clip(img, 0, 255) return img.astype('uint8')
Example #26
Source File: Preprocessing.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 5 votes |
def crop_resize(img, size): """crop center and resize""" if img.shape[0] < img.shape[1]: img = img.T # we crop image from center short_egde = min(img.shape[:2]) yy = int((img.shape[0] - short_egde) / 2) xx = int((img.shape[1] - short_egde) / 2) crop_img = img[yy : yy + short_egde, xx : xx + short_egde] # resize to 64, 64 resized_img = transform.resize(crop_img, (size, size)) resized_img *= 255 return resized_img.astype("uint8")
Example #27
Source File: imagehelper.py From dynamic-training-with-apache-mxnet-on-aws with Apache License 2.0 | 5 votes |
def PreprocessImage(img): img = np.array(img) print("Original Image Shape: ", img.shape) # we crop image from center short_egde = min(img.shape[:2]) yy = int((img.shape[0] - short_egde) / 2) xx = int((img.shape[1] - short_egde) / 2) crop_img = img[yy : yy + short_egde, xx : xx + short_egde] # resize to 224, 224 resized_img = transform.resize(crop_img, (224, 224)) # convert to numpy.ndarray sample = np.asarray(resized_img) * 256 #------------------------------------------------------------------- # Note: The decoded image should be in BGR channel (opencv output) # For RGB output such as from skimage, we need to convert it to BGR # WRONG channel will lead to WRONG result #------------------------------------------------------------------- # swap channel from RGB to BGR # sample = sample[:, :, [2,1,0]] sample = sample[:, :, [0,1,2]] # actually, in this pre-trained model RGB is used # swap axes to make image from (224, 224, 4) to (3, 224, 224) sample = np.swapaxes(sample, 0, 2) sample = np.swapaxes(sample, 1, 2) sample.resize(3,224,224) return sample
Example #28
Source File: vfn_eval.py From view-finding-network with GNU General Public License v3.0 | 5 votes |
def evaluate_aesthetics_score(images): scores = np.zeros(shape=(len(images),)) for i in range(len(images)): img = images[i].astype(np.float32)/255 img_resize = transform.resize(img, (227, 227))-0.5 img_resize = np.expand_dims(img_resize, axis=0) scores[i] = sess.run([score_func], feed_dict={image_placeholder: img_resize})[0] return scores
Example #29
Source File: preprocessing.py From medicaldetectiontoolkit with Apache License 2.0 | 5 votes |
def resample_array(src_imgs, src_spacing, target_spacing): src_spacing = np.round(src_spacing, 3) target_shape = [int(src_imgs.shape[ix] * src_spacing[::-1][ix] / target_spacing[::-1][ix]) for ix in range(len(src_imgs.shape))] for i in range(len(target_shape)): try: assert target_shape[i] > 0 except: raise AssertionError("AssertionError:", src_imgs.shape, src_spacing, target_spacing) img = src_imgs.astype(float) resampled_img = resize(img, target_shape, order=1, clip=True, mode='edge').astype('float32') return resampled_img
Example #30
Source File: utils.py From AdaptiveWingLoss with Apache License 2.0 | 5 votes |
def cv_crop(image, landmarks, center, scale, resolution=256, center_shift=0): new_image = cv2.copyMakeBorder(image, center_shift, center_shift, center_shift, center_shift, cv2.BORDER_CONSTANT, value=[0,0,0]) new_landmarks = landmarks.copy() if center_shift != 0: center[0] += center_shift center[1] += center_shift new_landmarks = new_landmarks + center_shift length = 200 * scale top = int(center[1] - length // 2) bottom = int(center[1] + length // 2) left = int(center[0] - length // 2) right = int(center[0] + length // 2) y_pad = abs(min(top, new_image.shape[0] - bottom, 0)) x_pad = abs(min(left, new_image.shape[1] - right, 0)) top, bottom, left, right = top + y_pad, bottom + y_pad, left + x_pad, right + x_pad new_image = cv2.copyMakeBorder(new_image, y_pad, y_pad, x_pad, x_pad, cv2.BORDER_CONSTANT, value=[0,0,0]) new_image = new_image[top:bottom, left:right] new_image = cv2.resize(new_image, dsize=(int(resolution), int(resolution)), interpolation=cv2.INTER_LINEAR) new_landmarks[:, 0] = (new_landmarks[:, 0] + x_pad - left) * resolution / length new_landmarks[:, 1] = (new_landmarks[:, 1] + y_pad - top) * resolution / length return new_image, new_landmarks