Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
function KuvanRajausOsienYmparille()
I = imread('kuvaPalikoita.JPGbmp');
I%I=rgb2gray(I); %jos rgb kuva
BW=edgeI;%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  %haetaan ylakulam x-suunnassa
&nbsp;&nbsp;&nbsp; if(box(i,1)<ylakulma(1))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ylakulma(1)=box(i,1)
&nbsp;&nbsp;&nbsp; end
&nbsp;&nbsp;&nbsp; %haetann ylakulma y-suunnassa
&nbsp;&nbsp;&nbsp; if(box(i,2)<ylakulma(2))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ylakulma(2)=box(i,2)
&nbsp;&nbsp;&nbsp; end
&nbsp;&nbsp;&nbsp; %haetaan alakulma x-suunnassa
&nbsp;&nbsp;&nbsp; if(box(i,1)+box(i,3)>alakulma(1))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alakulma(1)=box(i,1)+box(i,3)
&nbsp;&nbsp;&nbsp; end
&nbsp;&nbsp;&nbsp; %haetaan alakulma y-suunnassa
&nbsp;&nbsp;&nbsp; if(box(i,2)+box(i,4)>alakulma(2))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alakulma(2)=box(i,2)+box(i,4)
&nbsp;&nbsp;&nbsp; end
end
%rajataan alkuperaisesta kuvasta osat sisaltava alue
uusikuva=I(ylakulma(2):alakulma(2), ylakulma(1):alakulma(1));
figure, imshow(uusikuva);

...