function [vysledek, vyslednevrcholy] = vykresleni(vrcholy, vstupniobr)
% funkce pro vykresleni detekovane hranice OD do vstupniho obrazu

% VSTUP:
% - vrcholy - souradnice vrcholu hranice OD, ktere byly ziskany
%   kruhovou transformaci
% - vstupniobr - vstupni obraz - slouzi pro vykresleni hranice

% VYSTUP:
% - vysledek - vysledny obraz s vykreslenou hranici optickeho disku
% - vyslednevrcholy - matice obsahujici souradnice vyhlazene hranice (hranicni pixely optickeho
%    disku) - v kazdem radku jeden pixel


    oblast = roipoly(vstupniobr, vrcholy(:,1), vrcholy(:,2));        % vytvoreni binarniho obrazu (OD oblasti) z dodanych vrcholu z kruhove transformace
    
    
    if size(vstupniobr,1) == 2336
        vyhlazeni = 50;                     % nastaveni hodnoty vyhlazeni dle typu vstupniho obrazu
    elseif size(vstupniobr,1)== 480
        vyhlazeni = 20;                     % nastaveni hodnoty vyhlazeni dle typu vstupniho obrazu
    else 
        vyhlazeni = 10;                     % nastaveni hodnoty vyhlazeni dle typu vstupniho obrazu
    end
    
    ztenceny = edge(oblast, 'Canny', [], vyhlazeni); % vytvoreni hranice binarniho obrazu pomoci cannyho detektoru + soucasne vyhlazeni hranice
    
    if size(vstupniobr,3) == 3  % pokud je obraz RGB a ne sedotonovy
        
          vysledek(:,:,1) = vstupniobr(:,:,1) - ztenceny;   % vykresleni vysledne hranice do obrazu
          vysledek(:,:,2) = vstupniobr(:,:,2) + ztenceny;   % umisteni do zelene slozky, hranice tedy bude zelena
          vysledek(:,:,3) = vstupniobr(:,:,3) - ztenceny;       
    else                        % v pripade sedotonoveho obrazu 
          vysledek = vstupniobr + ztenceny;                 % jednoducha superpozice do vstupniho sedotonoveho obrazu - hranice tedy bude bila
    end
    
    vyslednevrcholy = bwboundaries(ztenceny, 8,'noholes');      % zjisteni souradnic vrcholu hranicnich pixelu vysledne vyhlazene hranice
    vyslednevrcholy = vyslednevrcholy{1};                       % zvoleni prvni a jedine oblasti neboli OD
    vyslednevrcholy = fliplr(vyslednevrcholy);                  % opet prehozeni x a y z duvodu konvence

end