https://github.com/andrewgazelka/cpp-image-process
An image processing library for UMN computer graphics
https://github.com/andrewgazelka/cpp-image-process
cpp17 image-processing
Last synced: about 1 year ago
JSON representation
An image processing library for UMN computer graphics
- Host: GitHub
- URL: https://github.com/andrewgazelka/cpp-image-process
- Owner: andrewgazelka
- Created: 2021-02-27T03:30:37.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-04-13T16:58:49.000Z (about 5 years ago)
- Last Synced: 2025-04-06T04:03:03.749Z (about 1 year ago)
- Topics: cpp17, image-processing
- Language: C++
- Homepage:
- Size: 11.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Image Processing Library
_For CSCI 5607 Project 2_
## Commands
Where `jf.jpg` is the jelly fish image

|Category|Command|Image|
|---|---|---|
|**Noise**|`image -input jf.jpg -noise 0.1 -output img.jpg` |  |
||`image -input jf.jpg -noise 0.5 -output img.jpg` |  |
|**Brightness**|`image -input jf.jpg -brightness 0.5 -output img.jpg` |  |
||`image -input jf.jpg -brightness 2 -output img.jpg` |  |
|**Contrast**|`image -input jf.jpg -contrast 0.5 -output img.jpg` |  |
||`image -input jf.jpg -contrast 1.5 -output img.jpg` |  |
|**Saturation**|`image -input jf.jpg -saturation 0.2 -output img.jpg` |  |
||`image -input jf.jpg -saturation 0.8 -output img.jpg` |  |
|**Crop**|`image -input jf.jpg -crop 600 300 100 200 -output img.jpg` |  |
|**Extract Channel**|`image -input jf.jpg -extractChannel 0 -output img.jpg` |  |
|**Quantize**|`image -input jf.jpg -quantize 2 -output img.jpg` |  |
|**Random Dither**|`image -input jf.jpg -randomDither 2 -output img.jpg` |  |
|**Blur**|`image -input jf.jpg -blur 2 -output img.jpg` |  |
|**Sharpen**|`image -input jf.jpg -sharpen 2 -output img.jpg` |  |
|**Edge Detect**|`image -input jf.jpg -edgeDetect -output img.jpg` |  |
|**Floyd-Steinberg Dither**|`image -input jf.jpg -FloydSteinbergDither 2 -output img.jpg` |  |
|**Scale**|`image -input jf.jpg -scale 1.5 2.3 -output img.jpg` |  |
|**Rotate**|`image -input jf.jpg -rotate 45 -output img.jpg` |  |
# Scaling Methods
We will compare rotation for 45 degrees
|Number|Category|Image|
|--|--|--|
0|Point||
1|Bilinear||
2|Gaussian||
# Experiences
This project was very interesting. However, I still had to go through a lot of work to get everything working.
Part of this was because of my love for abstraction. I tried to subtract pixels by pixels, but I forgot about
bounds already built into the system (for example pixels are limited to not have negative values).
Many of the issues lead to very interesting computer art. I overall really enjoyed this project.