function C = contrast(P,R,vstup)

% Funkce contrast slouží k výpočtu lokálního kontrastu.
% Vstupy do funkce:
% P - počet pixelů pro výpočet
% R - poloměr transformace
% vstup - vstupní obraz


[a b] = size(vstup);
C = zeros(a-2*R,b-2*R);

submatice = zeros(1,P);

kladne = 0;
zaporne = 0;
kl_c = 0;
kl_z = 0;


for i=(R+1):(a-R)
    for j=(R+1):(b-R)
        
        prah = vstup(i,j);    %% centralni pixel - prah
        
        for k=1:P     %% vyber okoli, metoda nearest neighbour
            submatice(k) = vstup( round(i+(R*cos(2*pi*k/P))), round(j-(R*sin(2*pi*k/P))));
        end
                
             
        for k=1:P % vypocet sumy nadprahovych a podprahovych hodnot
            if submatice(k) >= prah
              kladne = kladne + submatice(k);
              kl_c = kl_c + 1;
            else
              zaporne = zaporne + submatice(k);
              kl_z = kl_z + 1;
            end
        end
        
        if kl_c == 0 % vysledek s osetrenim nulovych hodnot
            C(i-R,j-R) =  - zaporne/kl_z;
        elseif kl_z == 0           
            C(i-R,j-R) = kladne/kl_c;
        else
        C(i-R,j-R) = kladne/kl_c - zaporne/kl_z;
        end
        
        % nulovani pomocnych promennych
        kladne = 0;
        zaporne = 0;
        kl_c = 0;
        kl_z = 0;
        
        
    end
end

