Skip to content

Transform digital images into bautiful print-ready artwork

License

Notifications You must be signed in to change notification settings

dinesh-GDK/image_print

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🖨️ print_image

🎨 Transform Digital Images into Beautiful Print-Ready Artwork! 📄

Discover the world of image conversion with our JPEG to Printable Image Converter. This C++ command-line tool harnesses the power of advanced algorithms to seamlessly convert your digital images into stunning, paper-ready artwork. Dive into the realm of print perfection and bring your digital creations to life on paper! 🖼️🖨️

Whether you're seeking precision with Dithering and Error Diffusion or looking to master kernels like FLOYD STEINBERG, JARVIS JUDICE NINKE, STUCKI, our converter has you covered. These algorithms are used to convert images such that we can print them on paper media.

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

Installation

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

Usage

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

License

This project is licensed under the MIT License - see the LICENSE file for details.

Reference

Image credits

https://unsplash.com/photos/OlKkCmToXEs?utm_content=creditShareLink&utm_medium=referral&utm_source=unsplash

About

Transform digital images into bautiful print-ready artwork

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published