Ho alcune particelle che ho identificato in un'immagine più grande e ho bisogno di analizzare immagini più piccole per ogni particella. Ho usato la funzione BoundingBox di regionprops, ma non ho ancora avuto successo. Come posso ora creare una sottoimmagine rettangolare dell'immagine che utilizzo BoundingBox? Posso usare BoundingBox per disegnare un rettangolo sull'immagine originale, ma i parametri restituiti da BoundingBox sembrano non essere di dimensione pixel (x, y, larghezza, altezza), (x1, y1, x2, y2), ecc., Che io aspetterei che un riquadro di limitazione tornasse. Ho scritto del codice di esempio usando coins.png per renderlo più facile a chiunque. Puoi aiutarmi con questo? Grazie! .Come ottenere una sottoimmagine rettangolare da regionprops (Immagine, 'BoundingBox') in Matlab?
figure(1);
I = imread('coins.png');
bw = im2bw(I, graythresh(I));
bw2 = imfill(bw,'holes');
imshow(bw2);
figure(2);
L = bwlabel(bw2);
imshow(label2rgb(L, @jet, [.7 .7 .7]))
figure(3);
imshow(I);
s = regionprops(L, 'BoundingBox');
rectangle('Position', s(1).BoundingBox);
Yup, ed è possibile ciclare su 's.NumObjects', l'iteratore sostituzione di Jonas'' 1'. –