Crop Images With Specified Values From Each Direction
2 次查看(过去 30 天)
显示 更早的评论
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
2023-8-21
编辑:Dyuman Joshi
2023-8-21
imcrop could be helpful if you have the Image Processing Toolbox.
Walter Roberson
2023-8-21
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
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 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!