% funkce na zjištění počtu procent z osy
function procenta = funkce_procenta_z_osy(obrazek)

vstup_1 = im2double(obrazek);
vstup = vstup_1;

mez = 0.9;
vstup_1 = vstup;
vstup_1(vstup > mez) = 0;
vstup_1(vstup <= mez) = 1;

vstup = medfilt2(vstup_1,[5 5]);

% invertování barev proběhne pouze pokud je většina pixelů bílá
[x,y] = size(vstup);
if sum(sum(vstup)) > x*y/6
    mez = 0.9;
    obrazek_prah = vstup;
    vstup(obrazek_prah > mez) = 0;
    vstup(obrazek_prah <= mez) = 1;
end

[nic,poziceH] = funkce_prumet(vstup,'H');

% zobrazení pouze osy
maximum = 0;
for i = 2 : length(poziceH)
    rozdil =  abs(poziceH(i-1) - poziceH(i));
    if rozdil > maximum
        pocatek_osy = i;
        maximum = rozdil;
    end
end

jenom_osa = vstup(:,1+poziceH(pocatek_osy-1):poziceH(pocatek_osy));

% % zobrazení svislých čar
[prumetH_jenom_osa,nic] = funkce_prumet(jenom_osa,'H');

detektor = ones(1,round(sum(prumetH_jenom_osa)/length(prumetH_jenom_osa)));
        
[a,b] = size(jenom_osa);
[aa,bb] = size(detektor);
vodorovne_cary = zeros(a,b);
i = 1;
k = 1;
while i <= a-aa
    while k <= b-bb
        if jenom_osa(i:i+aa-1,k:k+bb-1) == detektor;
            vodorovne_cary(i:i+aa-1,k:k+bb-1) = detektor;
        else
            vodorovne_cary(i:i+aa-1,k:k+bb-1) = 0;
        end
        k = k + bb;
    end
    i = i + aa;
    k = 1;
end
svisle_cary = jenom_osa - vodorovne_cary;
[nic,poziceV_svisle_cary] = funkce_prumet(svisle_cary,'V');
if poziceV_svisle_cary > 4
    svisle_cary = svisle_cary(poziceV_svisle_cary(2):poziceV_svisle_cary(end-1),:);
end
svisle_cary2 = medfilt2(svisle_cary,[7 7]);
[nic,prumetH_svisle_cary] = funkce_prumet(svisle_cary2,'H');

if length(prumetH_svisle_cary) > 4
    % výpočet trojčlenky
    rozmer = prumetH_svisle_cary(3);
    delka_osy = length(jenom_osa);
    procenta_cislo = round((100*rozmer)/delka_osy);
    procenta = strcat(num2str(procenta_cislo),' %');
else
    procenta = '*';
end

end