function [ output_h, output_s ] = hsv_filter( input, sample_size, min_size )
%HSV_FILTER Hledání silnice pomocí modelu HSV
%	[filter H, filtr S] = HSV_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, LAB_FILTER, EDGE_FILTER.

%% hsv2 detektor

hsv_image = rgb2hsv(input);
[x y z] = size (hsv_image);
hsv_x=x/2;
hsv_y=155;%(y/3)*2;

H_sum=sum(sum(hsv_image(hsv_x:hsv_x+sample_size,hsv_y:hsv_y+sample_size,1)))/(sample_size*sample_size);
S_sum=sum(sum(hsv_image(hsv_x:hsv_x+sample_size,hsv_y:hsv_y+sample_size,2)))/(sample_size*sample_size);

img_out_hsv_h=zeros(x,y);

for i=1:x
    for j=1:y
        if(((hsv_image(i,j,1))>=H_sum*0.8)&&((hsv_image(i,j,1))<H_sum*1.1))
             img_out_hsv_h(i,j)=1;
        end
       
    end
end
img_out_hsv_h = bwareaopen(img_out_hsv_h,(min_size));
img_out_hsv_h = imfill(img_out_hsv_h, 'holes');


img_out_hsv_s=zeros(x,y);

for i=1:x
    for j=1:y
        if(((hsv_image(i,j,2))>=S_sum*0)&&((hsv_image(i,j,2))<S_sum*1.2))
             img_out_hsv_s(i,j)=1;
        end
       
    end
end
img_out_hsv_s = bwareaopen(img_out_hsv_s,(min_size));
img_out_hsv_s = imfill(img_out_hsv_s, 'holes');

output_h=img_out_hsv_h;
output_s=img_out_hsv_s;
end

