function output_img = lab1_ex3(input_image_path, output_folder_abspath)
% Basic Image Processing and Analysis, 2016.
% solution function for lab1 / exercise3
    
    input_img = imread(input_image_path);
    output_img = 1.* input_img;
    output_img2 = 1.* input_img;
    
    %%{
    % swap channel R and B with for-loop:
    tic
    for row_i = 1:size(output_img, 1)
        for col_i = 1:size(output_img, 2)
            tmp_var = output_img(row_i, col_i, 1);
            output_img(row_i, col_i, 1) = output_img(row_i, col_i, 3);
            output_img(row_i, col_i, 3) = tmp_var;
        end
    end
    T1 = toc
    %%}
    
    %figure;
    %imshow(output_img);
    
    %%{
    % swap (back) channel R and B without for-loop:
    tic
    tmp = output_img2(:, :, 1);
    output_img2(:, :, 1) = input_img(:, :, 3);
    output_img2(:, :, 3) = tmp;
    T2 = toc
    %%}
    
    %figure;
    %imshow(output_img2);
    
    [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, '_chRchBswap', ext));
    
end
