% funkcia najde zlom v tele, alebo neuplnu uhlu na obrazu
% vstupnym parametrom je bw obraz
% vystup : zlom=1 (nie je na ihle zlom)
%             zlom=2 (V tele je zlom a casti su vedla seba)
%             zlom=3 (V tele je zlom a casti su pod sebou)
function[zlom]=search_zlom(Image)
zlom=1; % pociatocny stav
[rows,cols]=size(Image);
buffer=0; %
stav=0;
rez=0;
rez2=0;
%% dve casti zlomenej ihly lezia vedla seba
for j=1:(cols) %
    for i=1:(rows)
        if (Image(i,j)==1 && stav==0)
            stav=1;
        end
        if(stav==1)
            buffer=buffer+1;
        end
        if(Image(i,j)==1)
            buffer=0;
        end
        if(buffer>(3*rows)&&stav==1)
            rez=j;
            stav=2;
        end
        if(stav==2 && Image(i,j)==1)
            zlom=2;
        end
    end
end
Im_crop1 = imcrop(Image, [(0) (0)  (rez)  (rows)]);
Im_crop2 = imcrop(Image, [(rez) (0)  (cols)  (rows)]);
figure(4)
subplot(1,2,1);imshow(Im_crop1);
subplot(1,2,2);imshow(Im_crop2);
%% dve casti zlomenej ihly lezia pod sebou
% testovaci obrazok (IMG005) nema ohly pod sebou, preto da spatne vysledky
for i=1:(rows) %
    for j=1:(cols)
        if (Image(i,j)==1 && stav==0)
            stav=1;
        end
        if(stav==1)
            buffer=buffer+1;
        end
        if(Image(i,j)==1)
            buffer=0;
        end
        if(buffer>(3*cols)&&stav==1)
            rez2=j;
            stav=3;
        end
        if(stav==2 && Image(i,j)==1)
            zlom=2;
        end
    end
end
% Im_crop3 = imcrop(Image, [(0) (0)  (cols)  (rez2)]);
% Im_crop4 = imcrop(Image, [(0) (rez2)  (cols)  (rows)]);
% figure(5)
% subplot(2,1,1);imshow(Im_crop3);
% subplot(2,1,2);imshow(Im_crop4);
end