In this project I wrote an image editing program that allows you to load in one or more images and perform various operations on them. Consider it to be a miniature Photoshop.
The operations are summarized here:
Categories | Methods | Operation | Description | Implemented |
---|---|---|---|---|
Transform | To_Grayscale() | gray | Convert image to grayscale | ✅ |
Quantized | Quant_Uniform() | quant-unif | Convert the image to an 8 bit image using uniform quantization | ✅ |
Quant_Populosity() | quant-pop | Convert the image to an 8 bit image using populosity quantization | ✅ | |
Dithering | Dither_Threshold() | dither-thresh | Dither an image to black and white using threshold dithering with a threshold of 0.5 | ✅ |
Dither_Random() | dither-rand | Dither an image to black and white using random dithering | ✅ | |
Dither_FS() | dither-fs | Dither an image to black and white using Floyd-Steinberg dithering | ✅ | |
Dither_Bright() | dither-bright | Dither an image to black and white using threshold dithering with a threshold chosen to keep the average brightness constant | ✅ | |
Dither_Cluster() | dither-cluster | Dither an image to black and white using cluster dithering | ✅ | |
Dither_Color() | dither-color | Dither an image to 8 bit color using Floyd-Steinberg dithering | ✅ | |
Filtering | Filter_Box() | filter-box | Apply a 5x5 box filter | ✅ |
Filter_Bartlett() | filter-bartlett | Perform 5x5 Bartlett filter on this image | ✅ | |
Filter_Gaussian() | filter-gauss | Apply a 5x5 Gaussian filter | ✅ | |
Filter_Gaussian_N(N) | filter-gauss-n | Perform NxN Gaussian filter on this image | ✅ | |
Filter_Edge() | filter-edge | Edge detection filter | ✅ |