1 unstable release
0.1.0 | Apr 3, 2021 |
---|
#910 in Images
Used in symcode-webapp
93KB
2K
SLoC
SymCode Library
The Symbolic Barcode for Humans and Machines
Story | Demo | Usage
Built with 🦀 by The Vision Cortex Research GroupSynopsis
symcode
is the programming library providing the infrastructure to design a Symbolic Barcode,
while supporting a demo implementation Acute32
.
A SymCode is composed of an array of Symbols arranged in a grid structure.
What can be customized:
- the symbol set
- shape and locations of finders
- arrangement (3x3, 4x5 etc) and padding (space between symbols)
- encoding and error detection scheme (for different payload sizes)
We provide a demo implementation Acute32
in one configuration:
3x3 -> 5 symbols * 5 bit/sym = 20 bit payload + 5 bit checksum
A second configuration able to encode more bits is also planned: 5x4 -> 16 symbols * 5 bit/sym = 64 bit payload + 16 bit checksum
Architecture
The /acute32
modules implements the scanner traits.
The /interfaces
module defines the abstract concepts of different stages in a scanner and generator:
-
SymcodeScanner
The scanning pipeline -
Finder
To detect finder elements from a color image -
Fitter
To find the correct perspective transform from finder candidates -
Reader
To scan the image to read out a series of symbols -
Decoder
To decode an array of symbols into bit string -
Encoder
To encode a bit string into a Symcode Representation -
SymcodeGenerator
To generate a Symcode image for a given Symcode representation -
Debugger
For use during development to help visualizing the pipeline stages
Dependencies
~4.5MB
~86K SLoC