Image Editor

This was a semester 4 Linear Algebra (UE20MA251) project. The project contains a number of image manipulation techniques implemented from scratch. These functionalities were combined to form:

UI

The UI, hosted on Streamlit, is a simple way to interact with the same functionalities implemented in the command-line app. You can see how the UI looks in the following screenshots:

Original imageBrightened image
Original imageBrightness +73

Command-line

Functionalities

  • greyscale conversion
  • inverting
  • solarizing
  • contrast sdjusting
  • resizing
  • brightness adjusting
  • gamma correction
  • color pop
  • mean blur
  • gaussian blur
  • color name in English to BGR

Usage

General Commands:

  • load <filename>.<extension>
  • save [<filename>] [<extension>]
  • exit [save]
  • show [<filename>.<extension>]
  • undo
  • redo

Note: [] means optional and all values are taken as float unless mentioned otherwise.

Image Manipulation Commands:

  • greyscale
  • invert
  • solarize <”<” or “>”> <threshold value from 0 to 255>
  • contrast <value from -100 to 100>
  • resize <new number (integer) of rows> <new number (integer) of columns>
  • brightness <value from -100 to 100>
  • gamma correction <gamma value>
  • color pop <color name in English> [invert]
  • mean blur <kernel size (integer)>
  • gaussian blur <kernel size (integer)> [<sigma value, default sigma = 1>]
  • bgr <color name in English>