Python cv2.INTER_CUBIC Examples
The following are 30 code examples for showing how to use cv2.INTER_CUBIC(). These examples are extracted from open source projects. 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 check out the related API usage on the sidebar.
You may also want to check out all available functions/classes of the module
cv2
, or try the search function
.
Example 1
Project: FasterRCNN_KERAS Author: akshaylamba File: measure_map.py License: Apache License 2.0 | 7 votes |
def format_img(img, C): img_min_side = float(C.im_size) (height,width,_) = img.shape if width <= height: f = img_min_side/width new_height = int(f * height) new_width = int(img_min_side) else: f = img_min_side/height new_width = int(f * width) new_height = int(img_min_side) fx = width/float(new_width) fy = height/float(new_height) img = cv2.resize(img, (new_width, new_height), interpolation=cv2.INTER_CUBIC) img = img[:, :, (2, 1, 0)] img = img.astype(np.float32) img[:, :, 0] -= C.img_channel_mean[0] img[:, :, 1] -= C.img_channel_mean[1] img[:, :, 2] -= C.img_channel_mean[2] img /= C.img_scaling_factor img = np.transpose(img, (2, 0, 1)) img = np.expand_dims(img, axis=0) return img, fx, fy
Example 2
Project: FasterRCNN_KERAS Author: akshaylamba File: test_frcnn.py License: Apache License 2.0 | 6 votes |
def format_img(img, C): img_min_side = float(C.im_size) (height,width,_) = img.shape if width <= height: f = img_min_side/width new_height = int(f * height) new_width = int(img_min_side) else: f = img_min_side/height new_width = int(f * width) new_height = int(img_min_side) img = cv2.resize(img, (new_width, new_height), interpolation=cv2.INTER_CUBIC) img = img[:, :, (2, 1, 0)] img = img.astype(np.float32) img[:, :, 0] -= C.img_channel_mean[0] img[:, :, 1] -= C.img_channel_mean[1] img[:, :, 2] -= C.img_channel_mean[2] img /= C.img_scaling_factor img = np.transpose(img, (2, 0, 1)) img = np.expand_dims(img, axis=0) return img
Example 3
Project: MaskTrack Author: omkar13 File: custom_transforms.py License: MIT License | 6 votes |
def __call__(self, sample): # Fixed range of scales sc = self.scales[random.randint(0, len(self.scales) - 1)] for elem in sample.keys(): if 'fname' in elem: continue tmp = sample[elem] if tmp.ndim == 2: flagval = cv2.INTER_NEAREST else: flagval = cv2.INTER_CUBIC tmp = cv2.resize(tmp, None, fx=sc, fy=sc, interpolation=flagval) sample[elem] = tmp return sample
Example 4
Project: opencv_transforms Author: jbohnslav File: functional.py License: MIT License | 6 votes |
def resized_crop(img, i, j, h, w, size, interpolation=cv2.INTER_LINEAR): """Crop the given numpy ndarray and resize it to desired size. Notably used in :class:`~torchvision.transforms.RandomResizedCrop`. Args: img (numpy ndarray): Image to be cropped. i: Upper pixel coordinate. j: Left pixel coordinate. h: Height of the cropped image. w: Width of the cropped image. size (sequence or int): Desired output size. Same semantics as ``scale``. interpolation (int, optional): Desired interpolation. Default is ``cv2.INTER_CUBIC``. Returns: PIL Image: Cropped image. """ assert _is_numpy_image(img), 'img should be numpy image' img = crop(img, i, j, h, w) img = resize(img, size, interpolation=interpolation) return img
Example 5
Project: ghostnet Author: huawei-noah File: main.py License: Apache License 2.0 | 6 votes |
def get_data(name, batch): isTrain = name == 'train' image_shape = 224 if isTrain: augmentors = [ # use lighter augs if model is too small GoogleNetResize(crop_area_fraction=0.49 if args.width_ratio < 1 else 0.08, target_shape=image_shape), imgaug.RandomOrderAug( [imgaug.BrightnessScale((0.6, 1.4), clip=False), imgaug.Contrast((0.6, 1.4), clip=False), imgaug.Saturation(0.4, rgb=False), ]), imgaug.Flip(horiz=True), ] else: augmentors = [ imgaug.ResizeShortestEdge(int(image_shape*256/224), cv2.INTER_CUBIC), imgaug.CenterCrop((image_shape, image_shape)), ] return get_imagenet_dataflow(args.data_dir, name, batch, augmentors, meta_dir = args.meta_dir)
Example 6
Project: ghostnet Author: huawei-noah File: imagenet_utils.py License: Apache License 2.0 | 6 votes |
def _augment(self, img, _): h, w = img.shape[:2] area = h * w for _ in range(10): targetArea = self.rng.uniform(self.crop_area_fraction, 1.0) * area aspectR = self.rng.uniform(self.aspect_ratio_low, self.aspect_ratio_high) ww = int(np.sqrt(targetArea * aspectR) + 0.5) hh = int(np.sqrt(targetArea / aspectR) + 0.5) if self.rng.uniform() < 0.5: ww, hh = hh, ww if hh <= h and ww <= w: x1 = 0 if w == ww else self.rng.randint(0, w - ww) y1 = 0 if h == hh else self.rng.randint(0, h - hh) out = img[y1:y1 + hh, x1:x1 + ww] out = cv2.resize(out, (self.target_shape, self.target_shape), interpolation=cv2.INTER_CUBIC) return out out = imgaug.ResizeShortestEdge(self.target_shape, interp=cv2.INTER_CUBIC).augment(img) out = imgaug.CenterCrop(self.target_shape).augment(out) return out
Example 7
Project: 2019-CCF-BDCI-OCR-MCZJ-OCR-IdentificationIDElement Author: Mingtzge File: write_tfrecord.py License: MIT License | 6 votes |
def _resize_image(img): dst_width = CFG.ARCH.INPUT_SIZE[0] dst_height = CFG.ARCH.INPUT_SIZE[1] h_old, w_old, _ = img.shape height = dst_height width = int(w_old * height / h_old) if width < dst_width: left_padding = int((dst_width - width)/2) right_padding = dst_width - width - left_padding resized_img = cv2.resize(img, (width, height), interpolation=cv2.INTER_CUBIC) resized_img = cv2.copyMakeBorder(resized_img, 0, 0, left_padding, right_padding, cv2.BORDER_CONSTANT, value=[255, 255, 255]) else: resized_img = cv2.resize(img, (dst_width, height), interpolation=cv2.INTER_CUBIC) return resized_img
Example 8
Project: DEXTR-KerasTensorflow Author: scaelles File: helpers.py License: GNU General Public License v3.0 | 6 votes |
def fixed_resize(sample, resolution, flagval=None): if flagval is None: if ((sample == 0) | (sample == 1)).all(): flagval = cv2.INTER_NEAREST else: flagval = cv2.INTER_CUBIC if isinstance(resolution, int): tmp = [resolution, resolution] tmp[np.argmax(sample.shape[:2])] = int(round(float(resolution)/np.min(sample.shape[:2])*np.max(sample.shape[:2]))) resolution = tuple(tmp) if sample.ndim == 2 or (sample.ndim == 3 and sample.shape[2] == 3): sample = cv2.resize(sample, resolution[::-1], interpolation=flagval) else: tmp = sample sample = np.zeros(np.append(resolution, tmp.shape[2]), dtype=np.float32) for ii in range(sample.shape[2]): sample[:, :, ii] = cv2.resize(tmp[:, :, ii], resolution[::-1], interpolation=flagval) return sample
Example 9
Project: tf-lcnn Author: ildoonet File: data_feeder.py License: GNU General Public License v3.0 | 6 votes |
def get_mnist_data(is_train, image_size, batchsize): ds = MNISTCh('train' if is_train else 'test', shuffle=True) if is_train: augs = [ imgaug.RandomApplyAug(imgaug.RandomResize((0.8, 1.2), (0.8, 1.2)), 0.3), imgaug.RandomApplyAug(imgaug.RotationAndCropValid(15), 0.5), imgaug.RandomApplyAug(imgaug.SaltPepperNoise(white_prob=0.01, black_prob=0.01), 0.25), imgaug.Resize((224, 224), cv2.INTER_AREA) ] ds = AugmentImageComponent(ds, augs) ds = PrefetchData(ds, 128*10, multiprocessing.cpu_count()) ds = BatchData(ds, batchsize) ds = PrefetchData(ds, 256, 4) else: # no augmentation, only resizing augs = [ imgaug.Resize((image_size, image_size), cv2.INTER_CUBIC), ] ds = AugmentImageComponent(ds, augs) ds = BatchData(ds, batchsize) ds = PrefetchData(ds, 20, 2) return ds
Example 10
Project: iGAN Author: junyanz File: gui_vis.py License: MIT License | 6 votes |
def update_vis(self): ims = self.opt_engine.get_images(self.frame_id) if ims is not None: self.ims = ims if self.ims is None: return ims_show = [] n_imgs = self.ims.shape[0] for n in range(n_imgs): # im = ims[n] im_s = cv2.resize(self.ims[n], (self.width, self.width), interpolation=cv2.INTER_CUBIC) if n == self.select_id and self.topK > 1: t = 3 # thickness cv2.rectangle(im_s, (t, t), (self.width - t, self.width - t), (0, 255, 0), t) im_s = im_s[np.newaxis, ...] ims_show.append(im_s) if ims_show: ims_show = np.concatenate(ims_show, axis=0) g_tmp = utils.grid_vis(ims_show, self.grid_size[1], self.grid_size[0]) # (nh, nw) self.vis_results = g_tmp.copy() self.update()
Example 11
Project: 3D-BoundingBox Author: skhadem File: Dataset.py License: MIT License | 6 votes |
def format_img(self, img, box_2d): # Should this happen? or does normalize take care of it. YOLO doesnt like # img=img.astype(np.float) / 255 # torch transforms normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) process = transforms.Compose ([ transforms.ToTensor(), normalize ]) # crop image pt1 = box_2d[0] pt2 = box_2d[1] crop = img[pt1[1]:pt2[1]+1, pt1[0]:pt2[0]+1] crop = cv2.resize(src = crop, dsize=(224, 224), interpolation=cv2.INTER_CUBIC) # recolor, reformat batch = process(crop) return batch
Example 12
Project: Qualia2.0 Author: Kashu7100 File: util.py License: MIT License | 6 votes |
def decode_pose(img_orig, heatmaps, pafs): param = {'thre1': 0.1, 'thre2': 0.05, 'thre3': 0.5} # Bottom-up approach: # Step 1: find all joints in the image (organized by joint type: [0]=nose, [1]=neck...) joint_list_per_joint_type = NMS(param, heatmaps, img_orig.shape[0] / float(heatmaps.shape[0])) # joint_list is an unravel'd version of joint_list_per_joint, where we add # a 5th column to indicate the joint_type (0=nose, 1=neck...) joint_list = np.array([tuple(peak) + (joint_type,) for joint_type, joint_peaks in enumerate(joint_list_per_joint_type) for peak in joint_peaks]) # Step 2: find which joints go together to form limbs (which wrists go with which elbows) paf_upsamp = cv2.resize(pafs, (img_orig.shape[1], img_orig.shape[0]), interpolation=cv2.INTER_CUBIC) connected_limbs = find_connected_joints(param, paf_upsamp, joint_list_per_joint_type) # Step 3: associate limbs that belong to the same person person_to_joint_assoc = group_limbs_of_same_person(connected_limbs, joint_list) # (Step 4): plot results to_plot, canvas = plot_pose(img_orig, joint_list, person_to_joint_assoc) return to_plot, canvas, joint_list, person_to_joint_assoc
Example 13
Project: Baidu_Lane_Segmentation Author: qixuxiang File: reader.py License: MIT License | 6 votes |
def get_img(self): while True: img_name = self.image_files[self.index] label_name = img_name.replace('.jpg', '.png') img = cv2.imread(img_name) if img is None: print("load img failed:", img_name) self.next_img() else: break if self.birdeye == True: warped_img = cv2.warpPerspective(img, self.M, (4000, 4000),flags=cv2.INTER_CUBIC) img = cv2.resize(warped_img, (self.cols, self.rows), interpolation=cv2.INTER_CUBIC) else: img = cv2.resize(img, (self.cols, self.rows), interpolation=cv2.INTER_CUBIC) img = img.transpose((2,0,1)) return img, label_name
Example 14
Project: chainer-compiler Author: pfnet-research File: resize.py License: MIT License | 6 votes |
def _resize_cv2(img, size, interpolation): img = img.transpose((1, 2, 0)) if interpolation == PIL.Image.NEAREST: cv_interpolation = cv2.INTER_NEAREST elif interpolation == PIL.Image.BILINEAR: cv_interpolation = cv2.INTER_LINEAR elif interpolation == PIL.Image.BICUBIC: cv_interpolation = cv2.INTER_CUBIC elif interpolation == PIL.Image.LANCZOS: cv_interpolation = cv2.INTER_LANCZOS4 H, W = size img = cv2.resize(img, dsize=(W, H), interpolation=cv_interpolation) # If input is a grayscale image, cv2 returns a two-dimentional array. if len(img.shape) == 2: img = img[:, :, np.newaxis] return img.transpose((2, 0, 1))
Example 15
Project: robust_physical_perturbations Author: evtimovi File: train_yadav.py License: MIT License | 6 votes |
def transform_image(image,ang_range,shear_range,trans_range): # Rotation ang_rot = np.random.uniform(ang_range)-ang_range/2 rows,cols,ch = image.shape Rot_M = cv2.getRotationMatrix2D((cols/2,rows/2),ang_rot,1) # Translation tr_x = trans_range*np.random.uniform()-trans_range/2 tr_y = trans_range*np.random.uniform()-trans_range/2 Trans_M = np.float32([[1,0,tr_x],[0,1,tr_y]]) # Shear pts1 = np.float32([[5,5],[20,5],[5,20]]) pt1 = 5+shear_range*np.random.uniform()-shear_range/2 pt2 = 20+shear_range*np.random.uniform()-shear_range/2 pts2 = np.float32([[pt1,5],[pt2,pt1],[5,pt2]]) shear_M = cv2.getAffineTransform(pts1,pts2) image = cv2.warpAffine(image,Rot_M,(cols,rows)) image = cv2.warpAffine(image,Trans_M,(cols,rows)) image = cv2.warpAffine(image,shear_M,(cols,rows)) image = pre_process_image(image.astype(np.uint8)) #image = cv2.cvtColor(image, cv2.COLOR_BGR2YUV) #image = image[:,:,0] #image = cv2.resize(image, (img_resize,img_resize),interpolation = cv2.INTER_CUBIC) return image
Example 16
Project: BiblioPixelAnimations Author: ManiacalLabs File: opencv_video.py License: MIT License | 5 votes |
def step(self, amt=1): ret, frame = self._vid.read() image = cv2.cvtColor(frame, cv2.COLOR_RGB2BGRA) if self.crop: image = image[self._cropY + self.yoff:self._ih - self._cropY + self.yoff, self._cropX + self.xoff:self._iw - self._cropX + self.xoff] else: t, b, l, r = self._pad image = cv2.copyMakeBorder( image, t, b, l, r, cv2.BORDER_CONSTANT, value=[0, 0, 0]) resized = cv2.resize(image, (self.width, self.height), interpolation=cv2.INTER_CUBIC) if self.mirror: resized = cv2.flip(resized, 1) for y in range(self.height): for x in range(self.width): self.layout.set(x, y, tuple(resized[y, x][0:3])) if not isinstance(self.videoSource, int): self._frameCount += 1 if self._frameCount >= self._frameTotal: self._vid.set(1, 0) # CV_CAP_PROP_POS_FRAMES self._frameCount = 0 self.animComplete = True
Example 17
Project: dynamic-training-with-apache-mxnet-on-aws Author: awslabs File: opencv.py License: Apache License 2.0 | 5 votes |
def fixed_crop(src, x0, y0, w, h, size=None, interpolation=cv2.INTER_CUBIC): """Crop src at fixed location, and (optionally) resize it to size""" out = mx.nd.crop(src, begin=(y0, x0, 0), end=(y0+h, x0+w, int(src.shape[2]))) if size is not None and (w, h) != size: out = resize(out, size, interpolation=interpolation) return out
Example 18
Project: tools_python Author: xingag File: img_utils.py License: Apache License 2.0 | 5 votes |
def one_pic_to_video(image_path, output_video_path, fps, time): """ 一张图片合成视频 one_pic_to_video('./../source/1.jpeg', './../source/output.mp4', 25, 10) :param path: 图片文件路径 :param output_video_path:合成视频的路径 :param fps:帧率 :param time:时长 :return: """ image_clip = ImageClip(image_path) img_width, img_height = image_clip.w, image_clip.h # 总共的帧数 frame_num = (int)(fps * time) img_size = (int(img_width), int(img_height)) fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') video = cv2.VideoWriter(output_video_path, fourcc, fps, img_size) for index in range(frame_num): frame = cv2.imread(image_path) # 直接缩放到指定大小 frame_suitable = cv2.resize(frame, (img_size[0], img_size[1]), interpolation=cv2.INTER_CUBIC) # 把图片写进视频 # 重复写入多少次 video.write(frame_suitable) # 释放资源 video.release() return VideoFileClip(output_video_path)
Example 19
Project: python-- Author: Leezhen2014 File: BlurDetection.py License: GNU General Public License v3.0 | 5 votes |
def preImgOps(self, imgName): """ 图像的预处理操作 :param imgName: 图像的而明朝 :return: 灰度化和resize之后的图片对象 """ strPath = self.strDir + imgName img = cv2.imread(strPath) # 读取图片 cv2.moveWindow("", 1000, 100) # cv2.imshow("原始图", img) # 预处理操作 reImg = cv2.resize(img, (800, 900), interpolation=cv2.INTER_CUBIC) # img2gray = cv2.cvtColor(reImg, cv2.COLOR_BGR2GRAY) # 将图片压缩为单通道的灰度图 return img2gray, reImg
Example 20
Project: hand-detection.PyTorch Author: zllrunning File: data_augment.py License: MIT License | 5 votes |
def _resize_subtract_mean(image, insize, rgb_mean): interp_methods = [cv2.INTER_LINEAR, cv2.INTER_CUBIC, cv2.INTER_AREA, cv2.INTER_NEAREST, cv2.INTER_LANCZOS4] interp_method = interp_methods[random.randrange(5)] image = cv2.resize(image, (insize, insize), interpolation=interp_method) image = image.astype(np.float32) image -= rgb_mean return image.transpose(2, 0, 1)
Example 21
Project: hierarchical_loc Author: ethz-asl File: nclt.py License: BSD 3-Clause "New" or "Revised" License | 5 votes |
def undistort(self, img, crop=True): undistorted = cv2.resize(cv2.remap(img, self.mapu, self.mapv, cv2.INTER_LINEAR), (self.mask.shape[1], self.mask.shape[0]), interpolation=cv2.INTER_CUBIC) if crop: undistorted = undistorted[self.y_lim[0]:self.y_lim[1], self.x_lim[0]:self.x_lim[1]] return undistorted
Example 22
Project: tensorflow-data Author: kalaspuffar File: create_dataset.py License: MIT License | 5 votes |
def load_image(addr): # read an image and resize to (224, 224) # cv2 load images as BGR, convert it to RGB img = cv2.imread(addr) if img is None: return None img = cv2.resize(img, (224, 224), interpolation=cv2.INTER_CUBIC) img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) return img
Example 23
Project: 3D-HourGlass-Network Author: Naman-ntc File: functions.py License: MIT License | 5 votes |
def resizeAndPad(img, size, padColor=0): h, w = img.shape[:2] sh, sw = size # interpolation method if h > sh or w > sw: # shrinking image interp = cv2.INTER_AREA else: # stretching image interp = cv2.INTER_CUBIC # aspect ratio of image aspect = w/h # if on Python 2, you might need to cast as a float: float(w)/h # compute scaling and pad sizing if aspect > 1: # horizontal image new_w = sw new_h = np.round(new_w/aspect).astype(int) pad_vert = (sh-new_h)/2 pad_top, pad_bot = np.floor(pad_vert).astype(int), np.ceil(pad_vert).astype(int) pad_left, pad_right = 0, 0 elif aspect < 1: # vertical image new_h = sh new_w = np.round(new_h*aspect).astype(int) pad_horz = (sw-new_w)/2 pad_left, pad_right = np.floor(pad_horz).astype(int), np.ceil(pad_horz).astype(int) pad_top, pad_bot = 0, 0 else: # square image new_h, new_w = sh, sw pad_left, pad_right, pad_top, pad_bot = 0, 0, 0, 0 # set pad color if len(img.shape) is 3 and not isinstance(padColor, (list, tuple, np.ndarray)): # color image but only one color provided padColor = [padColor]*3 # scale and pad scaled_img = cv2.resize(img, (new_w, new_h), interpolation=interp) scaled_img = cv2.copyMakeBorder(scaled_img, pad_top, pad_bot, pad_left, pad_right, borderType=cv2.BORDER_CONSTANT, value=padColor) return scaled_img
Example 24
Project: 3D-HourGlass-Network Author: Naman-ntc File: functions.py License: MIT License | 5 votes |
def resizeAndPad(img, size, padColor=0): h, w = img.shape[:2] sh, sw = size # interpolation method if h > sh or w > sw: # shrinking image interp = cv2.INTER_AREA else: # stretching image interp = cv2.INTER_CUBIC # aspect ratio of image aspect = w/h # if on Python 2, you might need to cast as a float: float(w)/h # compute scaling and pad sizing if aspect > 1: # horizontal image new_w = sw new_h = np.round(new_w/aspect).astype(int) pad_vert = (sh-new_h)/2 pad_top, pad_bot = np.floor(pad_vert).astype(int), np.ceil(pad_vert).astype(int) pad_left, pad_right = 0, 0 elif aspect < 1: # vertical image new_h = sh new_w = np.round(new_h*aspect).astype(int) pad_horz = (sw-new_w)/2 pad_left, pad_right = np.floor(pad_horz).astype(int), np.ceil(pad_horz).astype(int) pad_top, pad_bot = 0, 0 else: # square image new_h, new_w = sh, sw pad_left, pad_right, pad_top, pad_bot = 0, 0, 0, 0 # set pad color if len(img.shape) is 3 and not isinstance(padColor, (list, tuple, np.ndarray)): # color image but only one color provided padColor = [padColor]*3 # scale and pad scaled_img = cv2.resize(img, (new_w, new_h), interpolation=interp) scaled_img = cv2.copyMakeBorder(scaled_img, pad_top, pad_bot, pad_left, pad_right, borderType=cv2.BORDER_CONSTANT, value=padColor) return scaled_img
Example 25
Project: AerialDetection Author: dingjiansw101 File: SplitOnlyImage_multi_process.py License: Apache License 2.0 | 5 votes |
def SplitSingle(self, name, rate, extent): img = cv2.imread(os.path.join(self.srcpath, name + extent)) assert np.shape(img) != () if (rate != 1): resizeimg = cv2.resize(img, None, fx=rate, fy=rate, interpolation=cv2.INTER_CUBIC) else: resizeimg = img outbasename = name + '__' + str(rate) + '__' weight = np.shape(resizeimg)[1] height = np.shape(resizeimg)[0] # if (max(weight, height) < self.subsize/2): # return left, up = 0, 0 while (left < weight): if (left + self.subsize >= weight): left = max(weight - self.subsize, 0) up = 0 while (up < height): if (up + self.subsize >= height): up = max(height - self.subsize, 0) subimgname = outbasename + str(left) + '___' + str(up) self.saveimagepatches(resizeimg, subimgname, left, up) if (up + self.subsize >= height): break else: up = up + self.slide if (left + self.subsize >= weight): break else: left = left + self.slide
Example 26
Project: AerialDetection Author: dingjiansw101 File: SplitOnlyImage.py License: Apache License 2.0 | 5 votes |
def SplitSingle(self, name, rate, extent): img = cv2.imread(os.path.join(self.srcpath, name + extent), cv2.IMREAD_UNCHANGED) assert np.shape(img) != () if (rate != 1): resizeimg = cv2.resize(img, None, fx=rate, fy=rate, interpolation = cv2.INTER_CUBIC) else: resizeimg = img outbasename = name + '__' + str(rate) + '__' weight = np.shape(resizeimg)[1] height = np.shape(resizeimg)[0] left, up = 0, 0 while (left < weight): if (left + self.subsize >= weight): left = max(weight - self.subsize, 0) up = 0 while (up < height): if (up + self.subsize >= height): up = max(height - self.subsize, 0) subimgname = outbasename + str(left) + '___' + str(up) self.saveimagepatches(resizeimg, subimgname, left, up) if (up + self.subsize >= height): break else: up = up + self.slide if (left + self.subsize >= weight): break else: left = left + self.slide
Example 27
Project: opencv_transforms Author: jbohnslav File: functional.py License: MIT License | 5 votes |
def resize(img, size, interpolation=cv2.INTER_LINEAR): r"""Resize the input numpy ndarray to the given size. Args: img (numpy ndarray): Image to be resized. size (sequence or int): Desired output size. If size is a sequence like (h, w), the output size will be matched to this. If size is an int, the smaller edge of the image will be matched to this number maintaing the aspect ratio. i.e, if height > width, then image will be rescaled to :math:`\left(\text{size} \times \frac{\text{height}}{\text{width}}, \text{size}\right)` interpolation (int, optional): Desired interpolation. Default is ``cv2.INTER_CUBIC`` Returns: PIL Image: Resized image. """ if not _is_numpy_image(img): raise TypeError('img should be numpy image. Got {}'.format(type(img))) if not (isinstance(size, int) or (isinstance(size, collections.Iterable) and len(size) == 2)): raise TypeError('Got inappropriate size arg: {}'.format(size)) w, h, = size if isinstance(size, int): if (w <= h and w == size) or (h <= w and h == size): return img if w < h: ow = size oh = int(size * h / w) output = cv2.resize(img, dsize=(ow, oh), interpolation=interpolation) else: oh = size ow = int(size * w / h) output = cv2.resize(img, dsize=(ow, oh), interpolation=interpolation) else: output = cv2.resize(img, dsize=(size[1], size[0]), interpolation=interpolation) if img.shape[2]==1: return output[:, :, np.newaxis] else: return output
Example 28
Project: opencv_transforms Author: jbohnslav File: functional.py License: MIT License | 5 votes |
def affine(img, angle, translate, scale, shear, interpolation=cv2.INTER_LINEAR, mode=cv2.BORDER_CONSTANT, fillcolor=0): """Apply affine transformation on the image keeping image center invariant Args: img (numpy ndarray): numpy ndarray to be transformed. angle (float or int): rotation angle in degrees between -180 and 180, clockwise direction. translate (list or tuple of integers): horizontal and vertical translations (post-rotation translation) scale (float): overall scale shear (float): shear angle value in degrees between -180 to 180, clockwise direction. interpolation (``cv2.INTER_NEAREST` or ``cv2.INTER_LINEAR`` or ``cv2.INTER_AREA``, ``cv2.INTER_CUBIC``): An optional resampling filter. See `filters`_ for more information. If omitted, it is set to ``cv2.INTER_CUBIC``, for bicubic interpolation. mode (``cv2.BORDER_CONSTANT`` or ``cv2.BORDER_REPLICATE`` or ``cv2.BORDER_REFLECT`` or ``cv2.BORDER_REFLECT_101``) Method for filling in border regions. Defaults to cv2.BORDER_CONSTANT, meaning areas outside the image are filled with a value (val, default 0) val (int): Optional fill color for the area outside the transform in the output image. Default: 0 """ if not _is_numpy_image(img): raise TypeError('img should be numpy Image. Got {}'.format(type(img))) assert isinstance(translate, (tuple, list)) and len(translate) == 2, \ "Argument translate should be a list or tuple of length 2" assert scale > 0.0, "Argument scale should be positive" output_size = img.shape[0:2] center = (img.shape[1] * 0.5 + 0.5, img.shape[0] * 0.5 + 0.5) matrix = _get_affine_matrix(center, angle, translate, scale, shear) if img.shape[2]==1: return cv2.warpAffine(img, matrix, output_size[::-1],interpolation, borderMode=mode, borderValue=fillcolor)[:,:,np.newaxis] else: return cv2.warpAffine(img, matrix, output_size[::-1],interpolation, borderMode=mode, borderValue=fillcolor)
Example 29
Project: ghostnet Author: huawei-noah File: imagenet_utils.py License: Apache License 2.0 | 5 votes |
def fbresnet_augmentor(isTrain): """ Augmentor used in fb.resnet.torch, for BGR images in range [0,255]. """ if isTrain: augmentors = [ GoogleNetResize(), # It's OK to remove the following augs if your CPU is not fast enough. # Removing brightness/contrast/saturation does not have a significant effect on accuracy. # Removing lighting leads to a tiny drop in accuracy. imgaug.RandomOrderAug( [imgaug.BrightnessScale((0.6, 1.4), clip=False), imgaug.Contrast((0.6, 1.4), clip=False), imgaug.Saturation(0.4, rgb=False), # rgb-bgr conversion for the constants copied from fb.resnet.torch imgaug.Lighting(0.1, eigval=np.asarray( [0.2175, 0.0188, 0.0045][::-1]) * 255.0, eigvec=np.array( [[-0.5675, 0.7192, 0.4009], [-0.5808, -0.0045, -0.8140], [-0.5836, -0.6948, 0.4203]], dtype='float32')[::-1, ::-1] )]), imgaug.Flip(horiz=True), ] else: augmentors = [ imgaug.ResizeShortestEdge(256, cv2.INTER_CUBIC), imgaug.CenterCrop((224, 224)), ] return augmentors
Example 30
Project: rcan-tensorflow Author: kozistr File: dataset.py License: MIT License | 5 votes |
def get_img(path, size=(64, 64), interp=cv2.INTER_CUBIC): img = cv2.imread(path, cv2.IMREAD_COLOR)[..., ::-1] # BGR to RGB if img.shape[:1] == size: return img else: return cv2.resize(img, size, interp)