# How to crop image into 256 x 256 x 3 if the original image is 841 x 482 x 3 uint8 if using the centroide of the lesion with x_cent = 720 and y_cent = 151?

6 views (last 30 days)
Here my full codes to crop:
x_cent=720;
y_cent=151;
size_of_cropped_img=256;
centroide=[x_cent y_cent];
imshow(I)
xmin=x_cent-size_of_cropped_img/2;
ymin=y_cent-size_of_cropped_img/2;
I2=imcrop(I,[xmin ymin size_of_cropped_img size_of_cropped_img])
imshow(I2)
imwrite(I2,'1crop.jpg');
After I crop the image, the output is appeared and save not as 256 x 256 x 3 but 251 x 257 x 3 uint8.
How to crop with exact dimension I want if the original image is 841 x 482 x 3 uint8?

Walter Roberson on 13 Jun 2023
I2 = I(ymin:ymin+size_of_cropped_img-1, xmin:xmin+size_of_cropped_img-1, :);
##### 3 CommentsShow 1 older commentHide 1 older comment
DGM on 14 Jun 2023
Edited: DGM on 14 Jun 2023
You're trying to crop a region that extends outside the image area. You'll need to decide what should happen. If the missing area is to be filled, how should it be filled?
Edited: Dayangku Nur Faizah Pengiran Mohamad on 24 Jun 2023
Hello Sir, I got the answer for this question. I extend the size of image using out = padarray(I, [10 10], 0, 'both'); , and then crop it by the size I want, thank you for you concern for this matter.