% funkcia najde ci usko je vacsie, mensie alebo este pasuje do tolerancie
% podla zadanych paramterov vo vodorovnej ose
% táto funkcia slúzi na vyhladávanie kolko razov zdetekoval 4 derivacie v
% obraze
% kazdy stlpec prejd a v kazdom stplci v idealnom pripade by mala byt
% 4prestupy v kontraste
% Vystupne paramatre:
% If(Usko==1) - Ihla ma ucho a je v tolerancii
% If(Usko==2) - Ihla ma ucho ale je vecsia nez tolerancia
% If(Usko==3) - Ihla ma ucho ale je mensia nez tolerancia
% If(Usko==4) - Ihla nema ucho
function[Usko]= search_usko2(Im_usko,usko,tolerancia)
[rows,cols]=size(Im_usko);
i=rows;j=cols;
x=0; % derivacia buff
prem=0; % memory
prem2=0; %vynulovanie premennej, ktora bude pocitat optimalne stplce v ktorych nasiel 4 deriv
for j=2:cols %
    for i=2:rows
        if (((Im_usko(i,j))>(Im_usko(i-1,j))) || (Im_usko(i,j) )<(Im_usko(i-1,j))) %
        x=x+1;
%         prem=prem+1;
        end
    end
    if(x>3) % na konci kazdeho stplca, zkontroluje kolko krat bolo zderivovane ak 4 je spravne a nasiel v stlpci usko
        prem2=prem2+1;
    end
    if(x>4) % niekde je chyba, nasiel viac derivacii , mozno pri prvych stlpcoch, tu bude mozno niekedy kontrola alebo chybove hlasenie
        Usko=4;
    end
    x=0; % resetovanie 4x derivacii
end
%% vyhodnotenie
%toler2 - premenna 
toler2=(usko*(tolerancia/100));
if(prem2>(usko+toler2*2))
   Usko = 2;%chybove hlasenie, usko je vacsie nez by malo byt
elseif(prem2<(usko-toler2*2))
    Usko = 3;%chybove hlasenie, usko je mensie nez by malo byt
elseif(prem2==0)% nema usko vobec
    Usko =4;
else%(((prem2<(usko-(usko*(tolerancia/100)))) && (prem2>(usko+(usko*(tolerancia/100))))))
    Usko = 1;%usko je OK
end