function f = HaePrikatJaMerkitseKeskipiste()
I = imread('PrikkojaJaLevyja.bmp');
imshow(I), title('alkuperainen kuva');
L = bwlabel(I);%numeroi alueet
Ominaisuus = regionprops(L,'all')
idx = find([Ominaisuus.EulerNumber] == 0 ); % 0=prikka 1=levy
%tee uusi kuva, jossa vain prikat tai levyt
I2 = ismember(L,idx);
figure,imshow(I2), title('Haetaan Eulerin numerolla prikat tai levyt ja merkitään massakeskipisteet');
%numeroi uudet alueet
NumeroidutAlueet=bwlabel(I2);
OminaisuusI2 = regionprops(NumeroidutAlueet,'all');
hold on %pidä kuva "auki" lisäystä varten, jottei tehdä uutta kuvaa jokaiselle keskipisteelle
Maara=max(NumeroidutAlueet(:))%hae kpl määrä kuvasta
%haetaan kaikkien kuvan objektien keskipisteet
for i=1:Maara %tulostetaan kaikkiin kappaleisiin X niiden keskipisteeseen
    Keskipiste=OminaisuusI2(i).Centroid %haetaan keskipiste muuttujaan kaikkien kappaleiden kp:t
    %plot(x-koordinaatti,Y-koordinaatti, plotattava merkki
    plot(Keskipiste(1),Keskipiste(2),'X')
end
hold off
  • No labels
You must log in to comment.