Image Processing Tools
The project provides libaiden_image.a and image_process CLI for basic screenshot and image processing.
Capabilities
- Crop;
- Auto-crop black bars;
- Scale;
- Rotate;
- Input supports PPM(P6) and formats supported by stb_image such as JPEG/PNG;
- Output supports
.ppm,.jpg,.jpeg.
CLI Usage
image_process crop -b T,R,B,L -i INPUT -o OUTPUT [-q 1-100 for JPEG]
image_process crop_black_bars -i INPUT -o OUTPUT [-q JPEG quality]
image_process scale -s FACTOR -i INPUT -o OUTPUT [-q JPEG quality]
image_process rotate -d DEG -i INPUT -o OUTPUT [-q JPEG quality]
Examples
Crop top, right, bottom, left margins:
./build/bin/image_process crop -b 10,20,10,20 -i input.jpg -o cropped.jpg -q 90
Crop black bars:
./build/bin/image_process crop_black_bars -i screenshot.jpg -o no-bars.jpg
Scale to 50%:
./build/bin/image_process scale -s 0.5 -i input.png -o small.jpg
Rotate 90 degrees:
./build/bin/image_process rotate -d 90 -i input.jpg -o rotated.jpg
Library Targets
CMake targets:
aiden_image: Static library;image_process: CLI.
Main source files:
src/image_process.cppsrc/image_process.hsrc/image_process_cli.cpp