{code}
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
{code} |