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

Dyuman Joshi
Dyuman Joshi 2023년 8월 21일
편집: Dyuman Joshi 2023년 8월 21일
imcrop could be helpful if you have the Image Processing Toolbox.
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.

댓글을 달려면 로그인하십시오.

 채택된 답변

Walter Roberson
Walter Roberson 2023년 8월 21일
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.

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by