function [ output_a, output_b] = lab_filter( input, sample_size, min_size )
%LAB_FILTER Hledání silnice pomocí modelu L a b
%	[filter A, filtr B] = LAB_FILTER(vstupní obraz, velikost vzorku, minimálni velikost)
%	
%	velikost vzorku: velikost vzorku pro určení hodnoty H,S silnice
%	minimálni velikost: minimálni velikost oblasti ve výsledném obrazu
%	
%	See also FINAL_FUNCTION, HSV_FILTER, EDGE_FILTER.

%% lab detektor
[x y z] = size (input);

lab_x=x/2;
lab_y=y/3;

lab = rgb2lab(input);

A_sum=sum(sum(lab(lab_x:lab_x+sample_size,lab_y:lab_y+sample_size,2)))/(sample_size*sample_size);
B_sum=sum(sum(lab(lab_x:lab_x+sample_size,lab_y:lab_y+sample_size,3)))/(sample_size*sample_size);

img_out_lab_a=zeros(x,y);

for i=1:x
    for j=1:y
        if(((lab(i,j,2))>=A_sum*0.9)&&((lab(i,j,2))<A_sum*1.1))
             img_out_lab_a(i,j)=1;
        end
       
    end
end
img_out_lab_a = bwareaopen(img_out_lab_a,(min_size));
img_out_lab_a = imfill(img_out_lab_a, 'holes');
output_a=img_out_lab_a;

img_out_lab_b=zeros(x,y);

for i=1:x
    for j=1:y
        if(((lab(i,j,3))>=B_sum*0.9)&&((lab(i,j,3))<B_sum*1.1))
             img_out_lab_b(i,j)=1;
        end
       
    end
end
img_out_lab_b = bwareaopen(img_out_lab_b,(min_size));
img_out_lab_b = imfill(img_out_lab_b, 'holes');
output_b=img_out_lab_b;


end

