Python PIL.Image.AFFINE Examples
The following are 30
code examples of PIL.Image.AFFINE().
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
PIL.Image
, or try the search function
.

Example #1
Source File: roomba.py From Roomba980-Python with MIT License | 7 votes |
def ScaleRotateTranslate(self, image, angle, center=None, new_center=None, scale=None, expand=False): ''' experimental - not used yet ''' if center is None: return image.rotate(angle, expand) angle = -angle / 180.0 * math.pi nx, ny = x, y = center if new_center != center: (nx, ny) = new_center sx = sy = 1.0 if scale: (sx, sy) = scale cosine = math.cos(angle) sine = math.sin(angle) a = cosine / sx b = sine / sx c = x - nx * a - ny * b d = -sine / sy e = cosine / sy f = y - nx * d - ny * e return image.transform(image.size, Image.AFFINE, (a,b,c,d,e,f), resample=Image.BICUBIC)
Example #2
Source File: preprocessing.py From nideep with BSD 2-Clause "Simplified" License | 7 votes |
def scale_rotate__translate(image, angle, center=None, new_center=None, scale=None, resample=Image.BICUBIC): if (scale is None) and (center is None): return image.rotate(angle=angle, resample=resample) nx, ny = x, y = center sx = sy = 1.0 if new_center: (nx, ny) = new_center if scale: (sx, sy) = (scale, scale) cosine = math.cos(angle) sine = math.sin(angle) a = cosine / sx b = sine / sx c = x - nx * a - ny * b d = -sine / sy e = cosine / sy f = y - nx * d - ny * e return image.transform(image.size, Image.AFFINE, (a, b, c, d, e, f), resample=resample)
Example #3
Source File: augmentation.py From AugMix_TF2 with MIT License | 6 votes |
def translate_x(pil_img, level): level = int_parameter(sample_level(level), IMAGE_SIZE / 3) if np.random.random() > 0.5: level = -level return pil_img.transform((IMAGE_SIZE, IMAGE_SIZE), Image.AFFINE, (1, 0, level, 0, 1, 0), resample=Image.BILINEAR)
Example #4
Source File: roomba.py From Roomba980-Python with MIT License | 6 votes |
def ScaleRotateTranslate(self, image, angle, center=None, new_center=None, scale=None, expand=False): ''' experimental - not used yet ''' if center is None: return image.rotate(angle, expand) angle = -angle / 180.0 * math.pi nx, ny = x, y = center if new_center != center: (nx, ny) = new_center sx = sy = 1.0 if scale: (sx, sy) = scale cosine = math.cos(angle) sine = math.sin(angle) a = cosine / sx b = sine / sx c = x - nx * a - ny * b d = -sine / sy e = cosine / sy f = y - nx * d - ny * e return image.transform(image.size, Image.AFFINE, (a,b,c,d,e,f), resample=Image.BICUBIC)
Example #5
Source File: augmentation_transforms.py From uda with Apache License 2.0 | 6 votes |
def _shear_x_impl(pil_img, level, img_shape): """Applies PIL ShearX to `pil_img`. The ShearX operation shears the image along the horizontal axis with `level` magnitude. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had ShearX applied to it. """ level = float_parameter(level, 0.3) if random.random() > 0.5: level = -level return pil_img.transform( _width_height_from_img_shape(img_shape), Image.AFFINE, (1, level, 0, 0, 1, 0))
Example #6
Source File: augmentation_transforms.py From uda with Apache License 2.0 | 6 votes |
def _shear_y_impl(pil_img, level, img_shape): """Applies PIL ShearY to `pil_img`. The ShearY operation shears the image along the vertical axis with `level` magnitude. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had ShearX applied to it. """ level = float_parameter(level, 0.3) if random.random() > 0.5: level = -level return pil_img.transform( _width_height_from_img_shape(img_shape), Image.AFFINE, (1, 0, 0, level, 1, 0))
Example #7
Source File: augmentation_transforms.py From uda with Apache License 2.0 | 6 votes |
def _translate_x_impl(pil_img, level, img_shape): """Applies PIL TranslateX to `pil_img`. Translate the image in the horizontal direction by `level` number of pixels. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had TranslateX applied to it. """ level = int_parameter(level, 10) if random.random() > 0.5: level = -level return pil_img.transform( _width_height_from_img_shape(img_shape), Image.AFFINE, (1, 0, level, 0, 1, 0))
Example #8
Source File: augmentation_transforms.py From uda with Apache License 2.0 | 6 votes |
def _translate_y_impl(pil_img, level, img_shape): """Applies PIL TranslateY to `pil_img`. Translate the image in the vertical direction by `level` number of pixels. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had TranslateY applied to it. """ level = int_parameter(level, 10) if random.random() > 0.5: level = -level return pil_img.transform( _width_height_from_img_shape(img_shape), Image.AFFINE, (1, 0, 0, 0, 1, level))
Example #9
Source File: dataset_utils.py From cluttered-omniglot with MIT License | 6 votes |
def prepare_char(some_char, angle=20, shear=10, scale=2): phi = np.radians(np.random.uniform(-angle,angle)) theta = np.radians(np.random.uniform(-shear,shear)) a = scale**np.random.uniform(-1,1) b = scale**np.random.uniform(-1,1) (x,y) = some_char.size x = a*x y = b*y xextremes = [rot_x(phi,theta,0,0),rot_x(phi,theta,0,y),rot_x(phi,theta,x,0),rot_x(phi,theta,x,y)] yextremes = [rot_y(phi,theta,0,0),rot_y(phi,theta,0,y),rot_y(phi,theta,x,0),rot_y(phi,theta,x,y)] mnx = min(xextremes) mxx = max(xextremes) mny = min(yextremes) mxy = max(yextremes) aff_bas = np.array([[a*np.cos(phi+theta), b*np.sin(phi-theta), -mnx],[-a*np.sin(phi+theta), b*np.cos(phi-theta), -mny],[0, 0, 1]]) aff_prm = np.linalg.inv(aff_bas) some_char = some_char.transform((int(mxx-mnx),int(mxy-mny)), method = Image.AFFINE, data = np.ndarray.flatten(aff_prm[0:2,:])) some_char = some_char.resize((int(32*(mxx-mnx)/105),int(32*(mxy-mny)/105))) return some_char # Crop scaled images to character size
Example #10
Source File: augmentation_transforms.py From g-tensorflow-models with Apache License 2.0 | 6 votes |
def _shear_x_impl(pil_img, level): """Applies PIL ShearX to `pil_img`. The ShearX operation shears the image along the horizontal axis with `level` magnitude. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had ShearX applied to it. """ level = float_parameter(level, 0.3) if random.random() > 0.5: level = -level return pil_img.transform((32, 32), Image.AFFINE, (1, level, 0, 0, 1, 0))
Example #11
Source File: augmentation_transforms.py From g-tensorflow-models with Apache License 2.0 | 6 votes |
def _shear_y_impl(pil_img, level): """Applies PIL ShearY to `pil_img`. The ShearY operation shears the image along the vertical axis with `level` magnitude. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had ShearX applied to it. """ level = float_parameter(level, 0.3) if random.random() > 0.5: level = -level return pil_img.transform((32, 32), Image.AFFINE, (1, 0, 0, level, 1, 0))
Example #12
Source File: augmentation_transforms.py From g-tensorflow-models with Apache License 2.0 | 6 votes |
def _translate_x_impl(pil_img, level): """Applies PIL TranslateX to `pil_img`. Translate the image in the horizontal direction by `level` number of pixels. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had TranslateX applied to it. """ level = int_parameter(level, 10) if random.random() > 0.5: level = -level return pil_img.transform((32, 32), Image.AFFINE, (1, 0, level, 0, 1, 0))
Example #13
Source File: augmentation_transforms.py From g-tensorflow-models with Apache License 2.0 | 6 votes |
def _translate_y_impl(pil_img, level): """Applies PIL TranslateY to `pil_img`. Translate the image in the vertical direction by `level` number of pixels. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had TranslateY applied to it. """ level = int_parameter(level, 10) if random.random() > 0.5: level = -level return pil_img.transform((32, 32), Image.AFFINE, (1, 0, 0, 0, 1, level))
Example #14
Source File: augmentation_transforms.py From models with Apache License 2.0 | 6 votes |
def _shear_x_impl(pil_img, level): """Applies PIL ShearX to `pil_img`. The ShearX operation shears the image along the horizontal axis with `level` magnitude. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had ShearX applied to it. """ level = float_parameter(level, 0.3) if random.random() > 0.5: level = -level return pil_img.transform((32, 32), Image.AFFINE, (1, level, 0, 0, 1, 0))
Example #15
Source File: augmentation_transforms.py From models with Apache License 2.0 | 6 votes |
def _shear_y_impl(pil_img, level): """Applies PIL ShearY to `pil_img`. The ShearY operation shears the image along the vertical axis with `level` magnitude. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had ShearX applied to it. """ level = float_parameter(level, 0.3) if random.random() > 0.5: level = -level return pil_img.transform((32, 32), Image.AFFINE, (1, 0, 0, level, 1, 0))
Example #16
Source File: augmentation_transforms.py From models with Apache License 2.0 | 6 votes |
def _translate_x_impl(pil_img, level): """Applies PIL TranslateX to `pil_img`. Translate the image in the horizontal direction by `level` number of pixels. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had TranslateX applied to it. """ level = int_parameter(level, 10) if random.random() > 0.5: level = -level return pil_img.transform((32, 32), Image.AFFINE, (1, 0, level, 0, 1, 0))
Example #17
Source File: augmentation_transforms.py From models with Apache License 2.0 | 6 votes |
def _translate_y_impl(pil_img, level): """Applies PIL TranslateY to `pil_img`. Translate the image in the vertical direction by `level` number of pixels. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had TranslateY applied to it. """ level = int_parameter(level, 10) if random.random() > 0.5: level = -level return pil_img.transform((32, 32), Image.AFFINE, (1, 0, 0, 0, 1, level))
Example #18
Source File: TestMyself_NEWSVM.py From MTCNN-VGG-face with MIT License | 6 votes |
def ScaleRotateTranslate(image, angle, center=None, new_center=None, scale=None, resample=Image.BICUBIC): if (scale is None) and (center is None): return image.rotate(angle=angle, resample=resample) nx, ny = x, y = center sx = sy = 1.0 if new_center: (nx, ny) = new_center if scale: (sx, sy) = (scale, scale) cosine = math.cos(angle) sine = math.sin(angle) a = cosine / sx b = sine / sx c = x - nx * a - ny * b d = -sine / sy e = cosine / sy f = y - nx * d - ny * e return image.transform(image.size, Image.AFFINE, (a, b, c, d, e, f), resample=resample) # 根据所给的人脸图像,眼睛坐标位置,偏移比例,输出的大小,来进行裁剪。
Example #19
Source File: TestMyselfWithMTCNN.py From MTCNN-VGG-face with MIT License | 6 votes |
def ScaleRotateTranslate(image, angle, center=None, new_center=None, scale=None, resample=Image.BICUBIC): if (scale is None) and (center is None): return image.rotate(angle=angle, resample=resample) nx, ny = x, y = center sx = sy = 1.0 if new_center: (nx, ny) = new_center if scale: (sx, sy) = (scale, scale) cosine = math.cos(angle) sine = math.sin(angle) a = cosine / sx b = sine / sx c = x - nx * a - ny * b d = -sine / sy e = cosine / sy f = y - nx * d - ny * e return image.transform(image.size, Image.AFFINE, (a, b, c, d, e, f), resample=resample) # 根据所给的人脸图像,眼睛坐标位置,偏移比例,输出的大小,来进行裁剪。
Example #20
Source File: TestMyself_KNN.py From MTCNN-VGG-face with MIT License | 6 votes |
def ScaleRotateTranslate(image, angle, center=None, new_center=None, scale=None, resample=Image.BICUBIC): if (scale is None) and (center is None): return image.rotate(angle=angle, resample=resample) nx, ny = x, y = center sx = sy = 1.0 if new_center: (nx, ny) = new_center if scale: (sx, sy) = (scale, scale) cosine = math.cos(angle) sine = math.sin(angle) a = cosine / sx b = sine / sx c = x - nx * a - ny * b d = -sine / sy e = cosine / sy f = y - nx * d - ny * e return image.transform(image.size, Image.AFFINE, (a, b, c, d, e, f), resample=resample) # 根据所给的人脸图像,眼睛坐标位置,偏移比例,输出的大小,来进行裁剪。
Example #21
Source File: TestMyself_Multithreading.py From MTCNN-VGG-face with MIT License | 6 votes |
def ScaleRotateTranslate(image, angle, center=None, new_center=None, scale=None, resample=Image.BICUBIC): if (scale is None) and (center is None): return image.rotate(angle=angle, resample=resample) nx, ny = x, y = center sx = sy = 1.0 if new_center: (nx, ny) = new_center if scale: (sx, sy) = (scale, scale) cosine = math.cos(angle) sine = math.sin(angle) a = cosine / sx b = sine / sx c = x - nx * a - ny * b d = -sine / sy e = cosine / sy f = y - nx * d - ny * e return image.transform(image.size, Image.AFFINE, (a, b, c, d, e, f), resample=resample) # 根据所给的人脸图像,眼睛坐标位置,偏移比例,输出的大小,来进行裁剪。
Example #22
Source File: augmentation_transforms.py From multilabel-image-classification-tensorflow with MIT License | 6 votes |
def _shear_x_impl(pil_img, level): """Applies PIL ShearX to `pil_img`. The ShearX operation shears the image along the horizontal axis with `level` magnitude. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had ShearX applied to it. """ level = float_parameter(level, 0.3) if random.random() > 0.5: level = -level return pil_img.transform((32, 32), Image.AFFINE, (1, level, 0, 0, 1, 0))
Example #23
Source File: augmentation_transforms.py From multilabel-image-classification-tensorflow with MIT License | 6 votes |
def _shear_y_impl(pil_img, level): """Applies PIL ShearY to `pil_img`. The ShearY operation shears the image along the vertical axis with `level` magnitude. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had ShearX applied to it. """ level = float_parameter(level, 0.3) if random.random() > 0.5: level = -level return pil_img.transform((32, 32), Image.AFFINE, (1, 0, 0, level, 1, 0))
Example #24
Source File: augmentation_transforms.py From multilabel-image-classification-tensorflow with MIT License | 6 votes |
def _translate_x_impl(pil_img, level): """Applies PIL TranslateX to `pil_img`. Translate the image in the horizontal direction by `level` number of pixels. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had TranslateX applied to it. """ level = int_parameter(level, 10) if random.random() > 0.5: level = -level return pil_img.transform((32, 32), Image.AFFINE, (1, 0, level, 0, 1, 0))
Example #25
Source File: augmentation_transforms.py From multilabel-image-classification-tensorflow with MIT License | 6 votes |
def _translate_y_impl(pil_img, level): """Applies PIL TranslateY to `pil_img`. Translate the image in the vertical direction by `level` number of pixels. Args: pil_img: Image in PIL object. level: Strength of the operation specified as an Integer from [0, `PARAMETER_MAX`]. Returns: A PIL Image that has had TranslateY applied to it. """ level = int_parameter(level, 10) if random.random() > 0.5: level = -level return pil_img.transform((32, 32), Image.AFFINE, (1, 0, 0, 0, 1, level))
Example #26
Source File: functional.py From Global-Second-order-Pooling-Convolutional-Networks with MIT License | 5 votes |
def affine(img, angle, translate, scale, shear, resample=0, fillcolor=None): """Apply affine transformation on the image keeping image center invariant Args: img (PIL Image): PIL Image to be rotated. 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. resample (``PIL.Image.NEAREST`` or ``PIL.Image.BILINEAR`` or ``PIL.Image.BICUBIC``, optional): An optional resampling filter. See `filters`_ for more information. If omitted, or if the image has mode "1" or "P", it is set to ``PIL.Image.NEAREST``. fillcolor (int): Optional fill color for the area outside the transform in the output image. (Pillow>=5.0.0) """ if not _is_pil_image(img): raise TypeError('img should be PIL 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.size center = (img.size[0] * 0.5 + 0.5, img.size[1] * 0.5 + 0.5) matrix = _get_inverse_affine_matrix(center, angle, translate, scale, shear) kwargs = {"fillcolor": fillcolor} if PILLOW_VERSION[0] == '5' else {} return img.transform(output_size, Image.AFFINE, matrix, resample, **kwargs)
Example #27
Source File: utils.py From fashion-mnist with MIT License | 5 votes |
def __call__(self, img): """ Args: img (PIL.Image): Image to be translated. Returns: PIL.Image: Randomly translated image. """ if np.random.random() < 0.5: hshift = np.random.randint(-self.max_hshift,self.max_hshift) vshift = np.random.randint(-self.max_vshift,self.max_vshift) return img.transform(img.size, Image.AFFINE, (1, 0, hshift, 0, 1, vshift)) return img
Example #28
Source File: augmentation.py From AugMix_TF2 with MIT License | 5 votes |
def shear_x(pil_img, level): level = float_parameter(sample_level(level), 0.3) if np.random.uniform() > 0.5: level = -level return pil_img.transform((IMAGE_SIZE, IMAGE_SIZE), Image.AFFINE, (1, level, 0, 0, 1, 0), resample=Image.BILINEAR)
Example #29
Source File: augmentation.py From AugMix_TF2 with MIT License | 5 votes |
def shear_y(pil_img, level): level = float_parameter(sample_level(level), 0.3) if np.random.uniform() > 0.5: level = -level return pil_img.transform((IMAGE_SIZE, IMAGE_SIZE), Image.AFFINE, (1, 0, 0, level, 1, 0), resample=Image.BILINEAR)
Example #30
Source File: augmentation.py From AugMix_TF2 with MIT License | 5 votes |
def translate_y(pil_img, level): level = int_parameter(sample_level(level), IMAGE_SIZE / 3) if np.random.random() > 0.5: level = -level return pil_img.transform((IMAGE_SIZE, IMAGE_SIZE), Image.AFFINE, (1, 0, 0, 0, 1, level), resample=Image.BILINEAR)