function output_img = lab1_ex4(input_image_path, output_folder_abspath, varargin)
% Basic Image Processing and Analysis, 2016.
% solution function for lab1 / exercise4
    
    input_img = imread(input_image_path);
    if size(input_img, 3)>1
        input_img = rgb2gray(input_img);
    end
    
    if ~isempty(varargin)
        th_value = varargin{1};
    else
        th_value = round(mean(mean(input_img)));
    end
    output_img = 1.* input_img;
    output_img(input_img(:)>th_value) = 256;
    output_img(input_img(:)<=th_value) = 1;
    
    [pathstr, name, ext] = fileparts(input_image_path);
    if exist(output_folder_abspath, 'dir')~=7
        mkdir(output_folder_abspath);
    end
    imwrite(output_img, strcat(output_folder_abspath, name, '_thresholded', ext));
    
end
