Low-Fi Grayscale Image
Using color channel average
I Converted image from BGR to grayscale by calculating the average of the red, green, and blue color channels for each pixel and assigning the average value to all three color channels
Hi-Fi Grayscale Image
Using linear approximation
For each pixel, I calculated the luminance by multiplying the each color channel with their respective constant values, then assigned the resulting luminace to all color channels of the said pixel. I believe this produces a much better grayscale image than using color channel average produces.
Laterally inverted image
To invert the image horizontally, I made a copy of the base image and looped through the image, re-arranging every column (second dimension of the matrix) in reverser order.
To invert the image vertically, I made a copy of the base image, then looped through the image matrix, reversing the direction of every row in the matrix.
To blur the image, I created a base kernel, which was a 3X3 matrix. I then rolled the kernel matrix along the first (row) and second (column) axes respectively, shifting the respective arrays a maximum of three indices. I did this over a few iterations, to increase the effect of the blur.