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: 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 #2
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 #3
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 #4
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 #5
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 #6
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 #7
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 #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: 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 #10
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 #11
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 #12
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 #13
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 #14
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 #15
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 #16
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 #17
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 #18
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 #19
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 #20
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 #21
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 #22
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 #23
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 #24
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 #25
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 #26
Source File: augmentations.py From augmix with Apache License 2.0 | 5 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 #27
Source File: augmentations.py From augmix with Apache License 2.0 | 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) # operation that overlaps with ImageNet-C's test set
Example #28
Source File: augmentations.py From augmix with Apache License 2.0 | 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 #29
Source File: augmentations.py From augmix with Apache License 2.0 | 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 #30
Source File: dataset.py From action-recognition with GNU Lesser General Public License v2.1 | 5 votes |
def __getitem__(self, idx): for i in range(len(self.acc_count)): if idx < self.acc_count[i]: label = i break class_path = self.root_dir + '/' + self.classes[label] if label: file_path = class_path + '/' + sorted(os.listdir(class_path))[idx-self.acc_count[label]] else: file_path = class_path + '/' + sorted(os.listdir(class_path))[idx] _, file_name = os.path.split(file_path) frames = [] # print os.listdir(file_path) file_list = sorted(os.listdir(file_path)) # print file_list # v: maximum translation in every step v = 2 offset = 0 for i, f in enumerate(file_list): frame = Image.open(file_path + '/' + f) #translation offset += random.randrange(-v, v) offset = min(offset, 3 * v) offset = max(offset, -3 * v) frame = frame.transform(frame.size, Image.AFFINE, (1, 0, offset, 0, 1, 0)) if self.transform is not None: frame = self.transform[0](frame) frames.append(frame) return frames, label, file_name