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?

3 次查看(过去 30 天)
Here my full codes to crop:
x_cent=720;
y_cent=151;
size_of_cropped_img=256;
centroide=[x_cent y_cent];
I=imread('1.jpg');
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
Walter Roberson 2023-6-13
I2 = I(ymin:ymin+size_of_cropped_img-1, xmin:xmin+size_of_cropped_img-1, :);
  3 个评论
DGM
DGM 2023-6-14
编辑:DGM 2023-6-14
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?
Dayangku Nur Faizah Pengiran Mohamad
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.

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by