Base Image

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.

Flipped image

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.

Flipped image

Inverted image

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.

Blurred Image

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.