Main Content

Translate an Image Vertically and Horizontally

This example shows how to perform a translation operation on an image using the imtranslate function. A translation operation shifts an image by a specified number of pixels in either the x- or y-direction, or both.

Read an image into the workspace.

I = imread("cameraman.tif");

Display the image. The size of the image is 256-by-256 pixels. By default, imshow displays the image with the upper right corner at (0,0).

imshow(I)
title("Original Image")

Figure contains an axes object. The hidden axes object with title Original Image contains an object of type image.

Translate the image, shifting the image by 15 pixels in the x-direction and 25 pixels in the y-direction. Note that, by default, imtranslate displays the translated image within the boundaries (or limits) of the original 256-by-256 image. This results in some of the translated image being clipped.

J = imtranslate(I,[15, 25]);

Display the translated image. The size of the image is 256-by-256 pixels.

imshow(J)
title("Translated Image")

Figure contains an axes object. The hidden axes object with title Translated Image contains an object of type image.

Use the OutputView name-value argument set to "full" to prevent clipping the translated image. The size of the new image is 281-by-271 pixels.

K = imtranslate(I,[15, 25],OutputView="full");

Display the translated image.

imshow(K)
title("Translated Image, Unclipped")

Figure contains an axes object. The hidden axes object with title Translated Image, Unclipped contains an object of type image.

See Also

| |

Related Examples

More About