Fix resize tests by increasing data bounds threshold. Easier modify image expression Clean and fix block sizes, colored rows test working Fix pages by being flexible to missing sectors Use exponential drop-off within dots to find pixel values. Try different right and bottom bounds to improve decoding.
A data matrix scheme for printing on paper and microfilm. Inspired by PaperBak, ColorSafe is written in Python and has a flexible specification. It aims to allow a few Megabytes of data (or more) to be stored on printable media for a worst case scenario backup, for extremely long-term archiving, or just for fun. With best practices, ColorSafe encoded data can safely withstand the vicissitudes of technology changes over long periods of time.
ColorSafe encoded data with default black and white settings looks like this:
With a color depth of 2 (Cyan, Magenta, Yellow, White) it looks like this:
With a color depth of 3 (Black, Red, Green, Yellow, Blue, Magenta, Cyan, White) it looks like this:
Check out the images folder to see sample images of full pages.
pip install colorsafe
To encode a file with default settings, e.g. 100dpi:
colorsafe encode input.txt
This generates a single pdf and multiple png files with the black and white data matrices, which can then be printed and stored.
To decode, scan the images back at 3x resolution, e.g. 300dpi, and run decoding:
colorsafe decode scan_page0.bmp scan_page1.bmp
Which outputs the data on the given pages.
Try the argument -c 2 or 3 for colorized encoding and decoding modes.