-average
- grays the image by averaging RGB channels of the image.
-blur <matrix size>
- blurs the image with given matrix size (Gaussian Blur Algorithm).
-brighten <level>
- brightens the image with positive values (max 255) or dims it with negative values (min -255).
-contrast <level>
- makes image more contrast (positive values up to 255) or smears it (negative values down to -255).
-decompose <min/max>
- decomposes the image by taking the smallest/greatest channel of each pixel.
-desaturate
- desaturates the image, converts RGB channel into HSL channels each divided by two.
-diffuse <n>
- reduces to the n to the power of 3 colors with Floyd-Steinberg Error Diffusion.
-gamma <ratio>
- produces gamma correction on image with given level.
-grayshade <number of shades>
- grays the image determined by number of shades.
-invert
- inverts RGB channels of the image.
-luminance <r> <g> <b>
- luminances the image, takes each ratio separetaly for each channel.
-pixelate <chunk size>
- cuts image into smaller chunks defined by chunk size.
-reduce <n>
- reduces image colors to the n to the power of 3 colors.
-singechannel <r/g/b>
- grays the image by chosen RGB channel.
-solarise <threshold> <below/above>
- solarises the image above/below to the given threshold.
<executable name> <input.png> <commands> <output.png>
- notice that output.png is optional but other arguments are required for program to run correctly without errors.
image.png -blur 8 -luminance 0.2 0.5 0.3
- image.png will be blurred with Gaussian Kernel 8x8 then luminanced.
in.png -decompose max -solarise 128 below out.png
- in.png will be decomposed with max function then solarised (each pixel below 128) then out.png will be produced.
picture.png -gamma 1.25
- picture.png will be converted with gamma conversion algorithm with ratio 1.25.
Francis G. Loch Article
Wikipedia Article
Tanner Helland Article
What-When-How Article
Stack Overflow Gaussian Blur Question
Stack Overflow Gaussian Kernel Question
Download for Windows 32-bit
Download for Windows 64-bit
# Generate parser & lexer
bison -b Generated/parser -d "Bison Flex/parser.y"
flex -o Generated/lexer.c "Bison Flex/lexer.l"
# Generate objects
gcc -I "Header Files" -c Generated/parser.tab.c Generated/lexer.c
gcc -I "Header Files" -c "Source Files/lodepng.c" "Source Files/image.c" "Source Files/process.c" "Source Files/semantic.c" "Source Files/main.c"
# Create executable
gcc parser.tab.o lexer.o lodepng.o image.o process.o semantic.o main.o -lm -o Depict-It
# Run executable
./Depict-It