Discover the world of image conversion with JPEG to Printable Image Converter. This C++ command-line tool harnesses the power of image processing algorithms to convert your images into stunning, paper-like artwork seamlessly. 🖼️🖨️
Whether you're seeking precision with Dithering and Error Diffusion or looking to master kernels like FLOYD STEINBERG, JARVIS JUDICE NINKE, STUCKI, this converter has you covered.
Fig 1. (1) original image (2) Dithered image using 16x16 kernel (3) Error diffused image using STUCKI kernel and threshold as 127 (4) Error diffused image using STUCKI kernel, threshold as 127 and using MBVQ (5) Dithered b/w image using 16x16 kernel (6) Error diffused image using STUCKI kernel and threshold as 127
You need to install the following dependancies
sudo apt-get install cmake libjpeg-dev libboost-all-dev
git clone https://github.com/dinesh-GDK/image_print.git
cd image_print
cmake . && make
Only JPEG
images are supported
./image_print [options]
Allowed options:
--help help message
--input arg input image path (only jpg)
--output arg output image path (only jpg)
--op arg operation to perform DITHERING=1 / ERROR_DIFFUSION=2
--bw arg convert image to black and white (default 0)
--size arg dimension of dithering matrix for DITHERING (default 8)
--kernel arg FLOYD_STEINBERG=1 / JARVIS_JUDICE_NINKE=2 / STUCKI=3
(default 2)
--threshold arg threshold for ERROR_DIFFUSION (default 127)
--mbvq arg use MBVQ technique for ERROR_DIFFUSION (default 0)
Sample usage
./image_print --input=<input-image-path> --output=<output-image-path> --op=ERROR_DIFFUSION --kernel=FLOYD_STEINBERG --threshold=127 --mbvq=1 --bw=1
./image_print --input=<input-image-path> --output=<output-image-path> --op=DITHERING --size=16 --bw=1
This project is licensed under the MIT License - see the LICENSE file for details.