Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Code Block
function f = HaePalikatomiinKuviinsa()
I2 = imread('Palikoita.bmp');
imshow(I2), title('alkuperäinen kuva');
L = bwlabel(I2);%numeroi alueet
Maara=max(L(:))%hae kpl määrä numeroitujen alueiden perusteella
KaikkiOminaisuudet = regionprops(I2,'all');
for i=1:Maara %kelataan kaikki kuvan osat läpi
    kulmat=KaikkiOminaisuudet(i).BoundingBox % haetaan jokaisen kuvan kulmat
    %kulmat on rect tyyppinen muuttuja, joka sisältää vas.yläkulman x,y,leveys,korkeus
    I3=imcrop(I2,kulmat); %tehdään rajoittavan suorakaiteen perusteella uudet kuvat
    figure,imshow(I3);
end

Code Block
function KuvaRajaus()

...


 I = imread('SuorakaiteitaErikulmissa.bmp');

...


 figure;imshow(I);title('Alkuperäinen kuva');

...


 siirrosYsuunnassaAlas=10;

...


 Yalku=1;

...


 Yloppu=256;

...


 siirrosXsuunnassaOikealle=222;

...


 %I = I(10\+[1:256],222\+[1:256],

...

:-) ; % rajattu kuva

...


 Xalku=1;

...


 Xloppu=256;

...


 I=I(siirrosYsuunnassaAlas +[Yalku:Yloppu]++,siirrosXsuunnassaOikealle+[Xalku:Xloppu],

...

:-) ;
 figure;imshow(I);title('Rajattu kuva');

...


end
Code Block

Seuraava

...

esimerkki

...

rajaa

...

kuvan

...

alueen

...

kuvassa

...

olevien

...

kappaleiden

...

ympärille

Code Block



function KuvanRajausOsienYmparille()

...


I = imread('

...

Palikoita.

...

bmp');

...


%I=rgb2gray(I);

...

 %jos rgb kuva
BW=

...

I;%edge(I, 'sobel', (graythresh(I) * .05));

...


imshow(BW);

...


L=bwlabel(BW);

...


s=regionprops(L,'all');

...


maara=max(L(

...

:));

...


% yhdistetaan cat funktiolla kaikkien osien rajaavat suorakaiteet yhdeksi matriisiksi

...


% yksi rivi edustaa yhden osan rajaavaa suorakaidetta

...


% Boundinbox = ylakulmax, ylakulmay, leveysx, korkeusy

...


box = cat(1, s.BoundingBox)

...


ylakulma=[10000,10000];

...


alakulma=[0,0];

...


for i=1:maara

...


 %haetaan ylakulam x-suunnassa

...


if(box(i,1)<ylakulma(1))

...


 %round() pyoristaa lahimpaan kokonaislukuun   
ylakulma(1)=round(box(i,1)

...

)
end
%haetann ylakulma y-suunnassa

...


if(box(i,2)<ylakulma(2))

...


ylakulma(2)=round(box(i,2)

...

)
end
%haetaan alakulma x-suunnassa

...


if(box(i,1)+box(i,3)>alakulma(1))

...


alakulma(1)=round(box(i,1)+box(i,3)

...

)
end
%haetaan alakulma y-suunnassa

...


if(box(i,2)+box(i,4)>alakulma(2))

...


alakulma(2)=round(box(i,2)+box(i,4))

...


end

...


end

...


%rajataan alkuperaisesta kuvasta osat sisaltava alue

...


uusikuva=I(ylakulma(2):alakulma(2), ylakulma(1):alakulma(1));

...


figure, imshow(uusikuva);
Code Block