How to crop image by specific size and location ?
27 views (last 30 days)
Dear Matlab experts,
I want to crop an image by specific size (64x64) and location. but the result is not correct
Could anyone help me ?
My step is:
- Detect the centroid of image
I2 = imcrop(I,[739.72-32 406.02+32 739.72+32 406.02-32]);
The problem is: the cropped image (I2) is 375x393 [pixel] not 64x64 [Pixel]. The area is bigger than what i expext
This is Cropped image I2 but the size is 375x393 [pixel]
DGM on 13 May 2022
Edited: DGM on 13 May 2022
The rect parameter given to imcrop is [xoffset yoffset xwidth ywidth]
I = imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/996600/2_mask.png');
I2 = imcrop(I,[739.72-32 406.02-32 64 64]);
... although you may find out that you have to subtract 1px from the widths if you actually want a specific output size. This behavior is explained in the help for imcrop().
I2 = imcrop(I,[739.72-32 406.02-32 63 63]); % this will be 64x64 instead of 65x65