Python cv2.WARP_INVERSE_MAP Examples
The following are 30
code examples of cv2.WARP_INVERSE_MAP().
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
cv2
, or try the search function
.
Example #1
Source File: faces_detect.py From faceswap with GNU General Public License v3.0 | 6 votes |
def get_full_frame_mask(self, width, height): """ Return the stored mask in a full size frame of the given dimensions Parameters ---------- width: int The width of the original frame that the mask was extracted from height: int The height of the original frame that the mask was extracted from Returns ------- numpy.ndarray: The mask affined to the original full frame of the given dimensions """ frame = np.zeros((width, height, 1), dtype="uint8") mask = cv2.warpAffine(self.mask, self._affine_matrix, (width, height), frame, flags=cv2.WARP_INVERSE_MAP | self._interpolator, borderMode=cv2.BORDER_CONSTANT) logger.trace("mask shape: %s, mask dtype: %s, mask min: %s, mask max: %s", mask.shape, mask.dtype, mask.min(), mask.max()) return mask
Example #2
Source File: mnist_helpers.py From mnist-helper with MIT License | 6 votes |
def deskew(image, image_shape, negated=False): """ This method deskwes an image using moments :param image: a numpy nd array input image :param image_shape: a tuple denoting the image`s shape :param negated: a boolean flag telling whether the input image is a negated one :returns: a numpy nd array deskewd image """ # negate the image if not negated: image = 255-image # calculate the moments of the image m = cv2.moments(image) if abs(m['mu02']) < 1e-2: return image.copy() # caclulating the skew skew = m['mu11']/m['mu02'] M = numpy.float32([[1, skew, -0.5*image_shape[0]*skew], [0,1,0]]) img = cv2.warpAffine(image, M, image_shape, flags=cv2.WARP_INVERSE_MAP|cv2.INTER_LINEAR) return img
Example #3
Source File: face_identifier.py From open_model_zoo with Apache License 2.0 | 6 votes |
def _align_rois(self, face_images, face_landmarks): assert len(face_images) == len(face_landmarks), \ "Input lengths differ, got %s and %s" % \ (len(face_images), len(face_landmarks)) for image, image_landmarks in zip(face_images, face_landmarks): assert len(image.shape) == 4, "Face image is expected" image = image[0] scale = np.array((image.shape[-1], image.shape[-2])) desired_landmarks = np.array(self.REFERENCE_LANDMARKS, dtype=np.float64) * scale landmarks = image_landmarks.get_array() * scale transform = FaceIdentifier.get_transform(desired_landmarks, landmarks) img = image.transpose((1, 2, 0)) cv2.warpAffine(img, transform, tuple(scale), img, flags=cv2.WARP_INVERSE_MAP) image[:] = img.transpose((2, 0, 1))
Example #4
Source File: build_model.py From Pose2Seg with MIT License | 6 votes |
def _getMaskOutput(self, netOutput): netOutput = netOutput.transpose(0, 2, 3, 1) MaskOutput = [[] for _ in range(self.bz)] idx = 0 for i, (img, kpts) in enumerate(zip(self.batchimgs, self.batchkpts)): height, width = img.shape[0:2] for j in range(len(kpts)): predmap = netOutput[idx] H_e2e = self.maskAlignMatrixs[i][j] pred_e2e = cv2.warpAffine(predmap, H_e2e[0:2], (width, height), borderMode=cv2.BORDER_CONSTANT, flags=cv2.WARP_INVERSE_MAP+cv2.INTER_LINEAR) pred_e2e = pred_e2e[:, :, 1] pred_e2e[pred_e2e>0.5] = 1 pred_e2e[pred_e2e<=0.5] = 0 mask = pred_e2e.astype(np.uint8) MaskOutput[i].append(mask) idx += 1 return MaskOutput
Example #5
Source File: data_generator.py From GCA-Matting with MIT License | 6 votes |
def __call__(self, sample): fg, alpha = sample['fg'], sample['alpha'] rows, cols, ch = fg.shape if np.maximum(rows, cols) < 1024: params = self.get_params((0, 0), self.translate, self.scale, self.shear, self.flip, fg.size) else: params = self.get_params(self.degrees, self.translate, self.scale, self.shear, self.flip, fg.size) center = (cols * 0.5 + 0.5, rows * 0.5 + 0.5) M = self._get_inverse_affine_matrix(center, *params) M = np.array(M).reshape((2, 3)) fg = cv2.warpAffine(fg, M, (cols, rows), flags=maybe_random_interp(cv2.INTER_NEAREST) + cv2.WARP_INVERSE_MAP) alpha = cv2.warpAffine(alpha, M, (cols, rows), flags=maybe_random_interp(cv2.INTER_NEAREST) + cv2.WARP_INVERSE_MAP) sample['fg'], sample['alpha'] = fg, alpha return sample
Example #6
Source File: classification.py From Traffic-Sign-Detection with MIT License | 6 votes |
def get_hog() : winSize = (20,20) blockSize = (10,10) blockStride = (5,5) cellSize = (10,10) nbins = 9 derivAperture = 1 winSigma = -1. histogramNormType = 0 L2HysThreshold = 0.2 gammaCorrection = 1 nlevels = 64 signedGradient = True hog = cv2.HOGDescriptor(winSize,blockSize,blockStride,cellSize,nbins,derivAperture,winSigma,histogramNormType,L2HysThreshold,gammaCorrection,nlevels, signedGradient) return hog affine_flags = cv2.WARP_INVERSE_MAP|cv2.INTER_LINEAR
Example #7
Source File: morpher.py From face_merge_master with Apache License 2.0 | 5 votes |
def transformation_points(src_img, src_points, dst_img, dst_points): src_points = src_points.astype(np.float64) dst_points = dst_points.astype(np.float64) c1 = np.mean(src_points, axis=0) c2 = np.mean(dst_points, axis=0) src_points -= c1 dst_points -= c2 s1 = np.std(src_points) s2 = np.std(dst_points) src_points /= s1 dst_points /= s2 u, s, vt = np.linalg.svd(src_points.T * dst_points) r = (u * vt).T m = np.vstack([np.hstack(((s2 / s1) * r, c2.T - (s2 / s1) * r * c1.T)), np.matrix([0., 0., 1.])]) output = cv2.warpAffine(dst_img, m[:2], (src_img.shape[1], src_img.shape[0]), borderMode=cv2.BORDER_TRANSPARENT, flags=cv2.WARP_INVERSE_MAP) return output
Example #8
Source File: svm_handwritten_digits_recognition_preprocessing_hog.py From Mastering-OpenCV-4-with-Python with MIT License | 5 votes |
def deskew(img): """Pre-processing of the images""" m = cv2.moments(img) if abs(m['mu02']) < 1e-2: return img.copy() skew = m['mu11'] / m['mu02'] M = np.float32([[1, skew, -0.5 * SIZE_IMAGE * skew], [0, 1, 0]]) img = cv2.warpAffine(img, M, (SIZE_IMAGE, SIZE_IMAGE), flags=cv2.WARP_INVERSE_MAP | cv2.INTER_LINEAR) return img
Example #9
Source File: svm_handwritten_digits_recognition_preprocessing_hog_c_gamma.py From Mastering-OpenCV-4-with-Python with MIT License | 5 votes |
def deskew(img): """Pre-processing of the images""" m = cv2.moments(img) if abs(m['mu02']) < 1e-2: return img.copy() skew = m['mu11'] / m['mu02'] M = np.float32([[1, skew, -0.5 * SIZE_IMAGE * skew], [0, 1, 0]]) img = cv2.warpAffine(img, M, (SIZE_IMAGE, SIZE_IMAGE), flags=cv2.WARP_INVERSE_MAP | cv2.INTER_LINEAR) return img
Example #10
Source File: knn_handwritten_digits_recognition_k_training_testing_preprocessing.py From Mastering-OpenCV-4-with-Python with MIT License | 5 votes |
def deskew(img): """Pre-processing of the images""" m = cv2.moments(img) if abs(m['mu02']) < 1e-2: return img.copy() skew = m['mu11'] / m['mu02'] M = np.float32([[1, skew, -0.5 * SIZE_IMAGE * skew], [0, 1, 0]]) img = cv2.warpAffine(img, M, (SIZE_IMAGE, SIZE_IMAGE), flags=cv2.WARP_INVERSE_MAP | cv2.INTER_LINEAR) return img
Example #11
Source File: knn_handwritten_digits_recognition_k_training_testing_preprocessing_hog.py From Mastering-OpenCV-4-with-Python with MIT License | 5 votes |
def deskew(img): """Pre-processing of the images""" m = cv2.moments(img) if abs(m['mu02']) < 1e-2: return img.copy() skew = m['mu11'] / m['mu02'] M = np.float32([[1, skew, -0.5 * SIZE_IMAGE * skew], [0, 1, 0]]) img = cv2.warpAffine(img, M, (SIZE_IMAGE, SIZE_IMAGE), flags=cv2.WARP_INVERSE_MAP | cv2.INTER_LINEAR) return img
Example #12
Source File: align.py From photo-a-day-aligner with MIT License | 5 votes |
def warp_im(im, M, dshape): output_im = numpy.zeros(dshape, dtype=im.dtype) cv2.warpAffine(im, M[:2], (dshape[1], dshape[0]), dst=output_im, borderMode=cv2.BORDER_TRANSPARENT, flags=cv2.WARP_INVERSE_MAP) return output_im
Example #13
Source File: morpher.py From face_merge_master with Apache License 2.0 | 5 votes |
def tran_matrix(src_img, src_points, dst_img, dst_points): h = cv2.findHomography(dst_points, src_points) output = cv2.warpAffine(dst_img, h[0][:2], (src_img.shape[1], src_img.shape[0]), borderMode=cv2.BORDER_TRANSPARENT, flags=cv2.WARP_INVERSE_MAP) return output
Example #14
Source File: alignface.py From deepfeatinterp with GNU General Public License v3.0 | 5 votes |
def warp_from_template(original,M,border_value=(0.5,0.5,0.5),image_dims=(400,400)): return cv2.warpAffine(original,M[::-1],dsize=(image_dims[0],image_dims[1]),flags=(cv2.INTER_AREA | cv2.WARP_INVERSE_MAP),borderMode=cv2.BORDER_CONSTANT,borderValue=border_value).transpose(1,0,2)
Example #15
Source File: augmentations.py From dataset_agnostic_segmentation with MIT License | 5 votes |
def img_aug(img): h, w = img.shape m = cv2.moments(img) if abs(m['mu02']) < 1e-2: return img skew = m['mu11'] / m['mu02'] M = np.float32([[1, skew, -0.5 * w * skew], [0, 1, 0]]) img = cv2.warpAffine(img, M, (w, h), flags=cv2.WARP_INVERSE_MAP | cv2.INTER_LINEAR) return img
Example #16
Source File: face_swap.py From average_portrait with MIT License | 5 votes |
def warp_im(im, M, dshape): output_im = numpy.zeros(dshape, dtype=im.dtype) cv2.warpAffine(im, M[:2], (dshape[1], dshape[0]), dst=output_im, borderMode=cv2.BORDER_TRANSPARENT, flags=cv2.WARP_INVERSE_MAP) return output_im
Example #17
Source File: face_align.py From average_portrait with MIT License | 5 votes |
def warp_im(im, M, dshape): output_im = numpy.zeros(dshape, dtype=im.dtype) cv2.warpAffine(im, M[:2], (dshape[1], dshape[0]), dst=output_im, borderMode=cv2.BORDER_TRANSPARENT, flags=cv2.WARP_INVERSE_MAP) return output_im
Example #18
Source File: synthgen.py From SynthText with Apache License 2.0 | 5 votes |
def warpHomography(self,src_mat,H,dst_size): dst_mat = cv2.warpPerspective(src_mat, H, dst_size, flags=cv2.WARP_INVERSE_MAP|cv2.INTER_LINEAR) return dst_mat
Example #19
Source File: predict.py From label_generator with BSD 3-Clause "New" or "Revised" License | 5 votes |
def subimage(image, center, theta, width, height): theta *= np.pi / 180 # convert to rad v_x = (np.cos(theta), np.sin(theta)) v_y = (-np.sin(theta), np.cos(theta)) s_x = center[0] - v_x[0] * (width / 2) - v_y[0] * (height / 2) s_y = center[1] - v_x[1] * (width / 2) - v_y[1] * (height / 2) mapping = np.array([[v_x[0], v_y[0], s_x], [v_x[1], v_y[1], s_y]]) return cv2.warpAffine(image, mapping, (int(width), int(height)), flags=cv2.WARP_INVERSE_MAP, borderMode=cv2.BORDER_REPLICATE)
Example #20
Source File: TYY_MORPH_create_db.py From MaskInsightface with Apache License 2.0 | 5 votes |
def warp_im(im, M, dshape): output_im = np.zeros(dshape, dtype=im.dtype) cv2.warpAffine(im, M[:2], (dshape[1], dshape[0]), dst=output_im, borderMode=cv2.BORDER_TRANSPARENT, flags=cv2.WARP_INVERSE_MAP) return output_im
Example #21
Source File: morpher.py From yry with Apache License 2.0 | 5 votes |
def transformation_points(src_img, src_points, dst_img, dst_points): src_points = src_points.astype(np.float64) dst_points = dst_points.astype(np.float64) c1 = np.mean(src_points, axis=0) c2 = np.mean(dst_points, axis=0) src_points -= c1 dst_points -= c2 s1 = np.std(src_points) s2 = np.std(dst_points) src_points /= s1 dst_points /= s2 u, s, vt = np.linalg.svd(src_points.T * dst_points) r = (u * vt).T m = np.vstack([np.hstack(((s2 / s1) * r, c2.T - (s2 / s1) * r * c1.T)), np.matrix([0., 0., 1.])]) output = cv2.warpAffine(dst_img, m[:2], (src_img.shape[1], src_img.shape[0]), borderMode=cv2.BORDER_TRANSPARENT, flags=cv2.WARP_INVERSE_MAP) return output
Example #22
Source File: alignface.py From deepfeatinterp with GNU General Public License v3.0 | 5 votes |
def warp_from_template(original,M,border_value=(0.5,0.5,0.5),image_dims=(400,400)): return cv2.warpAffine(original,M[::-1],dsize=image_dims,flags=(cv2.INTER_AREA | cv2.WARP_INVERSE_MAP),borderMode=cv2.BORDER_CONSTANT,borderValue=(0.0,0.0,0.0)).transpose(1,0,2)
Example #23
Source File: TYY_MORPH_create_db.py From SSR-Net with Apache License 2.0 | 5 votes |
def warp_im(im, M, dshape): output_im = np.zeros(dshape, dtype=im.dtype) cv2.warpAffine(im, M[:2], (dshape[1], dshape[0]), dst=output_im, borderMode=cv2.BORDER_TRANSPARENT, flags=cv2.WARP_INVERSE_MAP) return output_im
Example #24
Source File: digits.py From PyCV-time with MIT License | 5 votes |
def deskew(img): m = cv2.moments(img) if abs(m['mu02']) < 1e-2: return img.copy() skew = m['mu11']/m['mu02'] M = np.float32([[1, skew, -0.5*SZ*skew], [0, 1, 0]]) img = cv2.warpAffine(img, M, (SZ, SZ), flags=cv2.WARP_INVERSE_MAP | cv2.INTER_LINEAR) return img
Example #25
Source File: digits.py From PyCV-time with MIT License | 5 votes |
def deskew(img): m = cv2.moments(img) if abs(m['mu02']) < 1e-2: return img.copy() skew = m['mu11']/m['mu02'] M = np.float32([[1, skew, -0.5*SZ*skew], [0, 1, 0]]) img = cv2.warpAffine(img, M, (SZ, SZ), flags=cv2.WARP_INVERSE_MAP | cv2.INTER_LINEAR) return img
Example #26
Source File: geometric_transformations.py From open_model_zoo with Apache License 2.0 | 5 votes |
def align(self, img, points): if not points: return img points_number = len(points) // 2 points = np.array(points).reshape(points_number, 2) inp_shape = [1., 1.] if self.normalize: inp_shape = img.shape keypoints = points.copy().astype(np.float64) keypoints[:, 0] *= (float(self.dst_width) / inp_shape[1]) keypoints[:, 1] *= (float(self.dst_height) / inp_shape[0]) keypoints_ref = np.zeros((points_number, 2), dtype=np.float64) keypoints_ref[:, 0] = self.ref_landmarks[:, 0] * self.dst_width keypoints_ref[:, 1] = self.ref_landmarks[:, 1] * self.dst_height transformation_matrix = self.transformation_from_points(np.array(keypoints_ref), np.array(keypoints)) img = cv2.resize(img, (self.dst_width, self.dst_height)) if self.draw_points: for point in keypoints: cv2.circle(img, (int(point[0]), int(point[1])), 5, (255, 0, 0), -1) return cv2.warpAffine(img, transformation_matrix, (self.dst_width, self.dst_height), flags=cv2.WARP_INVERSE_MAP)
Example #27
Source File: test_preprocessor.py From open_model_zoo with Apache License 2.0 | 5 votes |
def test_point_alignment_default_use_normalization(self): image = np.random.randint(0, 255, (40, 40, 3)).astype(np.uint8) point_aligner = PointAligner({'type': 'point_alignment', 'dst_width': 40, 'dst_height': 40}) result = point_aligner( DataRepresentation(image), {'keypoints': PointAligner.ref_landmarks.reshape(-1).tolist()} ).data transformation_matrix = point_aligner.transformation_from_points( point_aligner.ref_landmarks * 40, point_aligner.ref_landmarks ) expected_result = cv2.warpAffine(image, transformation_matrix, (40, 40), flags=cv2.WARP_INVERSE_MAP) assert np.array_equal(result, expected_result)
Example #28
Source File: test_preprocessor.py From open_model_zoo with Apache License 2.0 | 5 votes |
def test_point_alignment_use_normalization(self): image = np.random.randint(0, 255, (40, 40, 3)).astype(np.uint8) point_aligner = PointAligner({'type': 'point_alignment', 'dst_width': 40, 'dst_height': 40, 'normalize': True}) result = point_aligner( DataRepresentation(image), {'keypoints': PointAligner.ref_landmarks.reshape(-1).tolist()} ).data transformation_matrix = point_aligner.transformation_from_points( point_aligner.ref_landmarks * 40, point_aligner.ref_landmarks ) expected_result = cv2.warpAffine(image, transformation_matrix, (40, 40), flags=cv2.WARP_INVERSE_MAP) assert np.array_equal(result, expected_result)
Example #29
Source File: test_preprocessor.py From open_model_zoo with Apache License 2.0 | 5 votes |
def test_point_alignment_without_normalization(self): image = np.random.randint(0, 255, (40, 40, 3)).astype(np.uint8) point_aligner = PointAligner({'type': 'point_alignment', 'dst_width': 40, 'dst_height': 40, 'normalize': False}) result = point_aligner( DataRepresentation(image), {'keypoints': PointAligner.ref_landmarks.reshape(-1).tolist()} ).data transformation_matrix = point_aligner.transformation_from_points( point_aligner.ref_landmarks * 40, point_aligner.ref_landmarks * 40 ) expected_result = cv2.warpAffine(image, transformation_matrix, (40, 40), flags=cv2.WARP_INVERSE_MAP) assert np.array_equal(result, expected_result)
Example #30
Source File: test_preprocessor.py From open_model_zoo with Apache License 2.0 | 5 votes |
def test_point_alignment_with_resizing(self): image = np.random.randint(0, 255, (80, 80, 3)).astype(np.uint8) point_aligner = PointAligner({'type': 'point_alignment', 'size': 40}) result = point_aligner( DataRepresentation(image), {'keypoints': PointAligner.ref_landmarks.reshape(-1).tolist()} ).data transformation_matrix = point_aligner.transformation_from_points( point_aligner.ref_landmarks * 40, point_aligner.ref_landmarks * 0.5 ) expected_result = cv2.resize(image, (40, 40)) expected_result = cv2.warpAffine(expected_result, transformation_matrix, (40, 40), flags=cv2.WARP_INVERSE_MAP) assert np.array_equal(result, expected_result)