function JajittelePrikat()
%kommentoi käskyt Matlab helpin avulla. kokeile erilaisia diskin halkaisija
%muuta subplot käsky siten, että tulostetaan 2 riviä ja  kolme saraketta
%
I = imread('PrikkojaJaNappeja.bmp');
%imfinfo('PrikkojaJaNappeja.bmp')
%Täytetään kuvasta pienet reiät
%kokeile myös suurentaa "diskin" kokoa esim. 10, mikä on tulos ?
se = strel('disk',3);
I=imdilate(I,se);%suljetaan roskia eli pieniä reikiä kuvasta myös imclose toimii \!
%Haetaan osat kuvasta
L = bwlabel(I);
RGB1 = label2rgb(L,'lines');%värikartan määrittely
RGB2 = label2rgb(L,'gray');%värikartan määrittely
RGB3 = label2rgb(L,'cool');%värikartan määrittely
%Haetaan osien ominaisuudet EulerNumber=kohde-reiät
ominaisuus = regionprops(L,'EulerNumber');
reikia_1 = find([ominaisuus.EulerNumber]==0);
reikia_2 = find([ominaisuus.EulerNumber]==-1);
reikia_3 = find([ominaisuus.EulerNumber]==-2);
%sijoitetaan osat reikien määrän mukaan uusiin kuviin
I1 = ismember(L,reikia_1);
I2 = ismember(L,reikia_2);
I3 = ismember(L,reikia_3);
%Tehdään 24-bittinen RGB-kuva, jossa eri osat omilla väreillään
%cat(värien määrä,punainen, vihreä ,sininen)
%kerrotaan 255:llä, jotta saadaan oikea alue 0.0->1.0 to 0->255
RGB4=uint8(cat(3,I1,I2,I3))*255;
subplot(6,2,1),imshow(I), title('alkuperainen');%tulostetaan kaikki samaan ikkunaan (rivi,sarake,järj.num.)
subplot(6,2,2),imshow(I1), title('1-reikaiset');
subplot(6,2,3),imshow(I2), title('2-reikaiset');
subplot(6,2,4),imshow(I3), title('3-reikaiset');
subplot(6,2,5),imshow(RGB1), title('lines'); %Eri varikarttojen tulostus
subplot(6,2,6),imshow(RGB2), title('gray'); %Eri varikarttojen tulostus
subplot(6,2,7),imshow(RGB3), title('cool'); %Eri varikarttojen tulostus
subplot(6,2,8),imshow(RGB4), title('eri varit');

  • No labels
You must log in to comment.