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