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?

5 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Walter Roberson
Walter Roberson il 13 Giu 2023
I2 = I(ymin:ymin+size_of_cropped_img-1, xmin:xmin+size_of_cropped_img-1, :);
  3 Commenti
DGM
DGM il 14 Giu 2023
Modificato: DGM il 14 Giu 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?
Dayangku Nur Faizah Pengiran Mohamad
Modificato: Dayangku Nur Faizah Pengiran Mohamad il 24 Giu 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Read, Write, and Modify Image in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by