function [ob, vysledek] = hranice(pom1, konecna, row, col)
% vytvoří hranici na místě, kde se výplňový materiál dotýká stěny zubu.
% 
% pom1 je binární obraz na místě, kde se nachází zubní kanálek,
% konecna je binární obraz, kde se nachází vzduchová bublina na místech
% mezi výplňovým materiálem a stěnou zubu
% row a col určují velikost obrazu.

% původní obraz posuneme do 
        poh1 = posun(pom1,-1,-1);
        poh2 = posun(pom1,0,-1);
        poh3 = posun(pom1,-1,0);
        poh4 = posun(pom1,1,1);
        poh5 = posun(pom1,1,0);
        poh6 = posun(pom1,0,1);
        poh7 = posun(pom1,-1,1);
        poh8 = posun(pom1,1,-1);

        % pak vytvoříme hranici tohoto objektu odečtením původního objektu
        % od zvětšeného objektu.
% zajímá nás hranice na místech, kde skutečně leží objekt, hranice je tudíž součástí objektu        
        poh11 = poh1 - pom1;
        poh12 = poh2 - pom1;
        poh13 = poh3 - pom1;
        poh14 = poh4 - pom1;
        poh15 = poh5 - pom1;
        poh16 = poh6 - pom1;
        poh17 = poh7 - pom1;
        poh18 = poh8 - pom1;
% Pro případ kdy nás zajímá hranice na místech, okolo objektu, hranice není součástí objektu        
%         poh11 = pom1 - poh1;
%         poh12 = pom1 - poh2;
%         poh13 = pom1 - poh3;
%         poh14 = pom1 - poh4;
%         poh15 = pom1 - poh5;
%         poh16 = pom1 - poh6;
%         poh17 = pom1 - poh7;
%         poh18 = pom1 - poh8;
      
        vysledek = poh11 + poh12 + poh13 + poh14 + poh15 + poh16 + poh17 + poh18; 
        vysledek = vysledek>0.7;
         
        ob = vysledek;                              % ob je hranice segmentovaného zubního kanalku

% figure(4)
% imshow(ob,[])

%% zjistujeme kde se hranice zubního kanálku dotyká s bublinou
        [Xx,Yy] = find(vysledek);

        for i = 1:length(Xx)                            % procházíme hranici bod po bodu
            if Xx(i) == 1 || Xx(i) == row 
                Xx(i) = 2;         
            end
            if Yy(i) == 1 || Yy(i) == col
                Yy(i) = 2;         
            end
            
            if vysledek(Xx(i),Yy(i)) == konecna(Xx(i)-1,Yy(i)-1) 
                ob(Xx(i),Yy(i)) = 0;
%                 i = i+1;
            elseif vysledek(Xx(i),Yy(i)) == konecna(Xx(i)-1,Yy(i))
                ob(Xx(i),Yy(i)) = 0;
%                 i = i+1;
            elseif vysledek(Xx(i),Yy(i)) == konecna(Xx(i),Yy(i)-1)
                ob(Xx(i),Yy(i)) = 0;
%                 i = i+1;
            elseif vysledek(Xx(i),Yy(i)) == konecna(Xx(i)+1,Yy(i))
                ob(Xx(i),Yy(i)) = 0;
%                 i = i+1;
            elseif vysledek(Xx(i),Yy(i)) == konecna(Xx(i),Yy(i)+1)
                ob(Xx(i),Yy(i)) = 0;
%                 i = i+1;
            elseif vysledek(Xx(i),Yy(i)) == konecna(Xx(i)+1,Yy(i)+1)
                ob(Xx(i),Yy(i)) = 0;
%                 i = i+1;
            elseif vysledek(Xx(i),Yy(i)) == konecna(Xx(i)-1,Yy(i)+1)
                ob(Xx(i),Yy(i)) = 0;
%                 i = i+1;
            elseif vysledek(Xx(i),Yy(i)) == konecna(Xx(i)+1,Yy(i)-1)
                ob(Xx(i),Yy(i)) = 0;
%                 i = i+1;
            else 
                ob(Xx(i),Yy(i)) = 1;  
%                 i = i+1;
            end
        end
        
% ob je hranice kde je mezi vyplnovym materialem a hranici kanalku nenachazi
% bublina


        
        
        