Giocando ancora, mi è venuta voglia di trovare i vertici di una figura geometrica contenuta in una immagine in scala di grigi.
Per semplicità vorrò trovare i vertici di un rettangolo bianco su uno sfondo nero (ma è banale lavorare con una scala di grigi o direttamente a colori). La potenza di MATLAB ci permette di non usare neanche un ciclo per scansionare la matrice.
% Creo la base della mia immagine 512x512
im=zeros(512,512);
% Posiziono un rettangolo in una zona qualsiasi dell'immagine
im(60:284,90:426)=1;
% Ho riempito quell'area di bianco, adesso voglio trovare i vertici
[m n]=find(im==1);
% Attraverso il find ho salvato le coordinate di tutti i pixel bianchi
minX=min(m);
minY=min(n);
maxX=max(m);
maxY=max(n);
% Sfrutto min() e max() per trovare il valore minimo e massimo di X e Y
a=[minX;minY];
b=[maxX;minY];
c=[maxX;maxY];
d=[minX;maxY];
% Se consideriamo i vertici partendo dall'alto a sinistra e scorrendoli
% in senso orario, ecco le nostre coordinate! :-)
% Basta richiamare le variabili per verificarlo...
Semplice e rapido! 🙂
Emanuele
Secondo me devi studiare meno 😮
Dici?! Una volta tanto che ci sto dando dentro! 😉
Ciao,
Emanuele