function [ obr_uprava ] = uprava_segmentace( obr, objekty, filtrace, vel_maska, otevreni, vel_objekt, vyplneni )
% funkce provadi upravy po segmentaci ruky
% vstupy
% obr - vstupni obrazek - jednoslozkovy
% objekty - filtrace objektu ponecha jeden nejvetsi objekt (0 ne,1 ano)
% filtrace - medianova filtrace (0 ne,1 ano)
% vel_maska - velikost masky medianove filtrace - jedno cislo (na ctverec)
% uzavreni - morfologicka operace uzavreni (0 ne,1 ano)
% vel_objekt - velikost objektu pro morfologickou operaci (objekt je disk)
% vyplneni - vyplneni objektu (0 ne,1 ano)
obr_prubezny=obr(:,:,1);
%% ponechani nejvetsiho objektu
if objekty==1
    CC = bwconncomp(obr_prubezny); %nalezeni poctu spojenych objektu
    %zjistim ktery je nejvetsi objekt v obrazku a ponecham ho -
    %cast prevzata z napovedy MATLAB
    numPixels = cellfun(@numel,CC.PixelIdxList);
    [~,idx] = max(numPixels);
    obr_prubezny(CC.PixelIdxList{idx}) = -1;
    obr_prubezny(obr_prubezny~=-1)=0;obr_prubezny(CC.PixelIdxList{idx}) = 1;
end
%% medianova filtrace
if filtrace==1
    maska=[vel_maska vel_maska];
    obr_prubezny=medfilt2(obr_prubezny,maska);
end
%% otevreni - eroze, dilatace
if otevreni==1
    objekt = strel('disk',vel_objekt);
    obr_prubezny = imopen(obr_prubezny,objekt);
end
%% vyplneni objektu
if vyplneni==1
    obr_prubezny = imfill(obr_prubezny);
end
obr_uprava=obr_prubezny;
end

