...
Code Block |
---|
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'); |