Python torchvision.transforms.functional.adjust_saturation() Examples
The following are 16
code examples of torchvision.transforms.functional.adjust_saturation().
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
torchvision.transforms.functional
, or try the search function
.
Example #1
Source File: cvfunctional.py From opencv_transforms_torchvision with MIT License | 6 votes |
def adjust_saturation(img, saturation_factor): """Adjust color saturation of an image. Args: img (np.ndarray): CV Image to be adjusted. saturation_factor (float): How much to adjust the saturation. 0 will give a gray image, 1 will give the original image while 2 will enhance the saturation by a factor of 2. Returns: np.ndarray: Saturation adjusted image. """ if not _is_numpy_image(img): raise TypeError('img should be PIL Image. Got {}'.format(type(img))) im = img.astype(np.float32) degenerate = cv2.cvtColor(cv2.cvtColor(im, cv2.COLOR_RGB2GRAY), cv2.COLOR_GRAY2RGB) im = (1-saturation_factor) * degenerate + saturation_factor * im im = im.clip(min=0, max=255) return im.astype(img.dtype)
Example #2
Source File: cvfunctional.py From opencv_transforms_torchvision with MIT License | 6 votes |
def cv_transform(img): # img = resize(img, size=(100, 300)) # img = to_tensor(img) # img = normalize(img, mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) # img = pad(img, padding=(10, 10, 20, 20), fill=(255, 255, 255), padding_mode='constant') # img = pad(img, padding=(100, 100, 100, 100), fill=5, padding_mode='symmetric') # img = crop(img, -40, -20, 1000, 1000) # img = center_crop(img, (310, 300)) # img = resized_crop(img, -10.3, -20, 330, 220, (500, 500)) # img = hflip(img) # img = vflip(img) # tl, tr, bl, br, center = five_crop(img, 100) # img = adjust_brightness(img, 2.1) # img = adjust_contrast(img, 1.5) # img = adjust_saturation(img, 2.3) # img = adjust_hue(img, 0.5) # img = adjust_gamma(img, gamma=3, gain=0.1) # img = rotate(img, 10, resample='BILINEAR', expand=True, center=None) # img = to_grayscale(img, 3) # img = affine(img, 10, (0, 0), 1, 0, resample='BICUBIC', fillcolor=(255,255,0)) # img = gaussion_noise(img) # img = poisson_noise(img) img = salt_and_pepper(img) return to_tensor(img)
Example #3
Source File: cvfunctional.py From opencv_transforms_torchvision with MIT License | 6 votes |
def pil_transform(img): # img = functional.resize(img, size=(100, 300)) # img = functional.to_tensor(img) # img = functional.normalize(img, mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) # img = functional.pad(img, padding=(10, 10, 20, 20), fill=(255, 255, 255), padding_mode='constant') # img = functional.pad(img, padding=(100, 100, 100, 100), padding_mode='symmetric') # img = functional.crop(img, -40, -20, 1000, 1000) # img = functional.center_crop(img, (310, 300)) # img = functional.resized_crop(img, -10.3, -20, 330, 220, (500, 500)) # img = functional.hflip(img) # img = functional.vflip(img) # tl, tr, bl, br, center = functional.five_crop(img, 100) # img = functional.adjust_brightness(img, 2.1) # img = functional.adjust_contrast(img, 1.5) # img = functional.adjust_saturation(img, 2.3) # img = functional.adjust_hue(img, 0.5) # img = functional.adjust_gamma(img, gamma=3, gain=0.1) # img = functional.rotate(img, 10, resample=PIL.Image.BILINEAR, expand=True, center=None) # img = functional.to_grayscale(img, 3) # img = functional.affine(img, 10, (0, 0), 1, 0, resample=PIL.Image.BICUBIC, fillcolor=(255,255,0)) return functional.to_tensor(img)
Example #4
Source File: data_transforms.py From DAVANet with MIT License | 6 votes |
def __call__(self, inputs, disps): inputs = [Image.fromarray(np.uint8(inp)) for inp in inputs] if self.brightness > 0: brightness_factor = np.random.uniform(max(0, 1 - self.brightness), 1 + self.brightness) inputs = [F.adjust_brightness(inp, brightness_factor) for inp in inputs] if self.contrast > 0: contrast_factor = np.random.uniform(max(0, 1 - self.contrast), 1 + self.contrast) inputs = [F.adjust_contrast(inp, contrast_factor) for inp in inputs] if self.saturation > 0: saturation_factor = np.random.uniform(max(0, 1 - self.saturation), 1 + self.saturation) inputs = [F.adjust_saturation(inp, saturation_factor) for inp in inputs] if self.hue > 0: hue_factor = np.random.uniform(-self.hue, self.hue) inputs = [F.adjust_hue(inp, hue_factor) for inp in inputs] inputs = [np.asarray(inp) for inp in inputs] inputs = [inp.clip(0,255) for inp in inputs] return inputs, disps
Example #5
Source File: transforms.py From ACDRNet with Apache License 2.0 | 6 votes |
def get_params(brightness, contrast, saturation, hue): transforms = [] if brightness is not None: brightness_factor = random.uniform(brightness[0], brightness[1]) transforms.append(Lambda_image(lambda img: F.adjust_brightness(img, brightness_factor))) if contrast is not None: contrast_factor = random.uniform(contrast[0], contrast[1]) transforms.append(Lambda_image(lambda img: F.adjust_contrast(img, contrast_factor))) if saturation is not None: saturation_factor = random.uniform(saturation[0], saturation[1]) transforms.append(Lambda_image(lambda img: F.adjust_saturation(img, saturation_factor))) if hue is not None: hue_factor = random.uniform(hue[0], hue[1]) transforms.append(Lambda_image(lambda img: F.adjust_hue(img, hue_factor))) random.shuffle(transforms) transform = Compose(transforms) return transform
Example #6
Source File: video_transforms.py From DDPAE-video-prediction with MIT License | 5 votes |
def get_params(brightness, contrast, saturation, hue): """Get a randomized transform to be applied on image. Arguments are same as that of __init__. Returns: Transform which randomly adjusts brightness, contrast and saturation in a random order. """ transforms = [] if brightness > 0: brightness_factor = random.uniform(max(0, 1 - brightness), 1 + brightness) transforms.append(lambda img: F.adjust_brightness(img, brightness_factor)) if contrast > 0: contrast_factor = random.uniform(max(0, 1 - contrast), 1 + contrast) transforms.append(lambda img: F.adjust_contrast(img, contrast_factor)) if saturation > 0: saturation_factor = random.uniform(max(0, 1 - saturation), 1 + saturation) transforms.append(lambda img: F.adjust_saturation(img, saturation_factor)) if hue > 0: hue_factor = random.uniform(-hue, hue) transforms.append(lambda img: F.adjust_hue(img, hue_factor)) random.shuffle(transforms) return transforms
Example #7
Source File: utils.py From ICDAR-2019-SROIE with MIT License | 5 votes |
def photometric_distort(image): """ Distort brightness, contrast, saturation, and hue, each with a 50% chance, in random order. :param image: image, a PIL Image :return: distorted image """ new_image = image distortions = [FT.adjust_brightness, FT.adjust_contrast, FT.adjust_saturation, FT.adjust_hue] random.shuffle(distortions) for d in distortions: if random.random() < 0.5: if d.__name__ is 'adjust_hue': # Caffe repo uses a 'hue_delta' of 18 - we divide by 255 because PyTorch needs a normalized value adjust_factor = random.uniform(-18 / 255., 18 / 255.) else: # Caffe repo uses 'lower' and 'upper' values of 0.5 and 1.5 for brightness, contrast, and saturation adjust_factor = random.uniform(0.5, 1.5) # Apply this distortion new_image = d(new_image, adjust_factor) return new_image
Example #8
Source File: augmentation.py From DPC with MIT License | 5 votes |
def get_params(brightness, contrast, saturation, hue): """Get a randomized transform to be applied on image. Arguments are same as that of __init__. Returns: Transform which randomly adjusts brightness, contrast and saturation in a random order. """ transforms = [] if brightness is not None: brightness_factor = random.uniform(brightness[0], brightness[1]) transforms.append(torchvision.transforms.Lambda(lambda img: F.adjust_brightness(img, brightness_factor))) if contrast is not None: contrast_factor = random.uniform(contrast[0], contrast[1]) transforms.append(torchvision.transforms.Lambda(lambda img: F.adjust_contrast(img, contrast_factor))) if saturation is not None: saturation_factor = random.uniform(saturation[0], saturation[1]) transforms.append(torchvision.transforms.Lambda(lambda img: F.adjust_saturation(img, saturation_factor))) if hue is not None: hue_factor = random.uniform(hue[0], hue[1]) transforms.append(torchvision.transforms.Lambda(lambda img: F.adjust_hue(img, hue_factor))) random.shuffle(transforms) transform = torchvision.transforms.Compose(transforms) return transform
Example #9
Source File: transforms.py From PPGNet with MIT License | 5 votes |
def __call__(self, img, pt): transforms = [ tf.adjust_brightness, tf.adjust_contrast, tf.adjust_saturation ] random.shuffle(transforms) for t in transforms: img = t(img, (np.random.rand() - 0.5) * 2 * self.factor + 1) return img, pt
Example #10
Source File: utils.py From a-PyTorch-Tutorial-to-Object-Detection with MIT License | 5 votes |
def photometric_distort(image): """ Distort brightness, contrast, saturation, and hue, each with a 50% chance, in random order. :param image: image, a PIL Image :return: distorted image """ new_image = image distortions = [FT.adjust_brightness, FT.adjust_contrast, FT.adjust_saturation, FT.adjust_hue] random.shuffle(distortions) for d in distortions: if random.random() < 0.5: if d.__name__ is 'adjust_hue': # Caffe repo uses a 'hue_delta' of 18 - we divide by 255 because PyTorch needs a normalized value adjust_factor = random.uniform(-18 / 255., 18 / 255.) else: # Caffe repo uses 'lower' and 'upper' values of 0.5 and 1.5 for brightness, contrast, and saturation adjust_factor = random.uniform(0.5, 1.5) # Apply this distortion new_image = d(new_image, adjust_factor) return new_image
Example #11
Source File: data_transforms.py From STFAN with MIT License | 5 votes |
def __call__(self, seq_blur, seq_clear): seq_blur = [Image.fromarray(np.uint8(img)) for img in seq_blur] seq_clear = [Image.fromarray(np.uint8(img)) for img in seq_clear] if self.brightness > 0: brightness_factor = np.random.uniform(max(0, 1 - self.brightness), 1 + self.brightness) seq_blur = [F.adjust_brightness(img, brightness_factor) for img in seq_blur] seq_clear = [F.adjust_brightness(img, brightness_factor) for img in seq_clear] if self.contrast > 0: contrast_factor = np.random.uniform(max(0, 1 - self.contrast), 1 + self.contrast) seq_blur = [F.adjust_contrast(img, contrast_factor) for img in seq_blur] seq_clear = [F.adjust_contrast(img, contrast_factor) for img in seq_clear] if self.saturation > 0: saturation_factor = np.random.uniform(max(0, 1 - self.saturation), 1 + self.saturation) seq_blur = [F.adjust_saturation(img, saturation_factor) for img in seq_blur] seq_clear = [F.adjust_saturation(img, saturation_factor) for img in seq_clear] if self.hue > 0: hue_factor = np.random.uniform(-self.hue, self.hue) seq_blur = [F.adjust_hue(img, hue_factor) for img in seq_blur] seq_clear = [F.adjust_hue(img, hue_factor) for img in seq_clear] seq_blur = [np.asarray(img) for img in seq_blur] seq_clear = [np.asarray(img) for img in seq_clear] seq_blur = [img.clip(0,255) for img in seq_blur] seq_clear = [img.clip(0,255) for img in seq_clear] return seq_blur, seq_clear
Example #12
Source File: video_transforms.py From pvse with MIT License | 5 votes |
def get_params(brightness, contrast, saturation, hue): """Get a randomized transform to be applied on image. Arguments are same as that of __init__. Returns: Transform which randomly adjusts brightness, contrast and saturation in a random order. """ transforms = [] if brightness is not None: brightness_factor = random.uniform(brightness[0], brightness[1]) transforms.append(Lambda(lambda img: F.adjust_brightness(img, brightness_factor))) if contrast is not None: contrast_factor = random.uniform(contrast[0], contrast[1]) transforms.append(Lambda(lambda img: F.adjust_contrast(img, contrast_factor))) if saturation is not None: saturation_factor = random.uniform(saturation[0], saturation[1]) transforms.append(Lambda(lambda img: F.adjust_saturation(img, saturation_factor))) if hue is not None: hue_factor = random.uniform(hue[0], hue[1]) transforms.append(Lambda(lambda img: F.adjust_hue(img, hue_factor))) random.shuffle(transforms) transform = Compose(transforms) return transform
Example #13
Source File: augmentations.py From CAG_UDA with MIT License | 5 votes |
def __call__(self, img, mask): assert img.size == mask.size return tf.adjust_saturation(img, random.uniform(1 - self.saturation, 1 + self.saturation)), mask
Example #14
Source File: augmentations.py From pytorch-semseg with MIT License | 5 votes |
def __call__(self, img, mask): assert img.size == mask.size return ( tf.adjust_saturation(img, random.uniform(1 - self.saturation, 1 + self.saturation)), mask, )
Example #15
Source File: ext_transforms.py From DeepLabV3Plus-Pytorch with MIT License | 5 votes |
def get_params(brightness, contrast, saturation, hue): """Get a randomized transform to be applied on image. Arguments are same as that of __init__. Returns: Transform which randomly adjusts brightness, contrast and saturation in a random order. """ transforms = [] if brightness is not None: brightness_factor = random.uniform(brightness[0], brightness[1]) transforms.append(Lambda(lambda img: F.adjust_brightness(img, brightness_factor))) if contrast is not None: contrast_factor = random.uniform(contrast[0], contrast[1]) transforms.append(Lambda(lambda img: F.adjust_contrast(img, contrast_factor))) if saturation is not None: saturation_factor = random.uniform(saturation[0], saturation[1]) transforms.append(Lambda(lambda img: F.adjust_saturation(img, saturation_factor))) if hue is not None: hue_factor = random.uniform(hue[0], hue[1]) transforms.append(Lambda(lambda img: F.adjust_hue(img, hue_factor))) random.shuffle(transforms) transform = Compose(transforms) return transform
Example #16
Source File: benchmark.py From albumentations with MIT License | 5 votes |
def torchvision_transform(self, img): img = torchvision.adjust_hue(img, hue_factor=0.1) img = torchvision.adjust_saturation(img, saturation_factor=1.2) img = torchvision.adjust_brightness(img, brightness_factor=1.2) return img