In this article, we will discuss how to pad an image on all sides in PyTorch.
Torchvision.transforms.RandomCrop method
Cropping is a technique of removal of unwanted outer areas from an image to achieve this we use a method in python that is torchvision.transforms.RandomCrop(). It is used to crop an image at a random location in PyTorch. This method accepts images like PIL Image and Tensor Image. The tensor image is a PyTorch tensor with [C, H, W] shape, where C represents a number of channels and H, W represents height and width respectively.
Syntax: torchvision.transforms.RandomCrop(size)
Parameters:
- size: Desired crop size of the image.
Return: it returns the cropped image of given input size.
Image used for demonstration:
Example 1:
In this example, we are transforming the image with a height of 200 and a width of 400.
Python3
# import required libraries import torch import torchvision.transforms as transforms from PIL import Image # Read image image = Image. open ( 'pic.jpg' ) # create an transform for crop the image # 200px height and 400px wide transform = transforms.RandomCrop(( 200 , 400 )) # use above created transform to crop # the image image_crop = transform(image) # display result image_crop.show() |
Output:
Example 2:
In this example, we are transforming the image at the center. In this, we will get a square image as output.
Python3
# import required libraries import torch import torchvision.transforms as transforms from PIL import Image # Read image image = Image. open ( 'a.jpg' ) # create an transform for crop the image transform = transforms.RandomCrop( 300 ) # use above created transform to crop # the image image_crop = transform(image) # display result image_crop.show() |
Output: