Crop Images With Specified Values From Each Direction

2 visualizaciones (últimos 30 días)
I want to crop a series of '.bmp' images. Is there a way to crop images by putting 4 variables indicating how many pixels you want to cut from each side (from each direction; top, bottom, left, and right) of the image? I want the users to change the amount they want to cut from each of the four sides and basically shrink down the image accordingly. Thanks for the help in advance.
  2 comentarios
Dyuman Joshi
Dyuman Joshi el 21 de Ag. de 2023
Editada: Dyuman Joshi el 21 de Ag. de 2023
imcrop could be helpful if you have the Image Processing Toolbox.
Walter Roberson
Walter Roberson el 21 de Ag. de 2023
Notice this in the imcrop() documentation:
The actual size of the output image does not always correspond exactly with the width
and height specified by rect. For example, suppose rect is [20 20 40 30], using the
default spatial coordinate system. The upper left corner of the specified rectangle
is the center of the pixel with spatial (x,y) coordinates (20,20). The lower right
corner of the rectangle is the center of the pixel with spatial (x,y) coordinates
(60,50). The resulting output image has size 31-by-41 pixels, not 30-by-40 pixels.

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 21 de Ag. de 2023
newImage = OriginalImage(1+TopRowsToSkip:end-BottomRowsToSkip, 1+LeftColumnsToSkip:end-RightColumnsToSkip, :);
where you should probably let all the values such as TopRowsToSkip start at 0 (indicating nothing to be skipped)
I would not recommend using imcrop() for this purpose.

Más respuestas (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by