symcode

Crates.iosymcode
lib.rssymcode
version0.1.0
sourcesrc
created_at2021-04-03 21:24:50.699741
updated_at2021-04-03 21:24:50.699741
descriptionSymbolic Barcode - Programming Library
homepagehttp://www.visioncortex.org/
repositoryhttps://github.com/visioncortex/symcode/
max_upload_size
id378507
size80,755
Chris Tsang (tyt2y3)

documentation

README

SymCode Library

The Symbolic Barcode for Humans and Machines

Story | Demo | Usage

Built with 🦀 by The Vision Cortex Research Group

Synopsis

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:

  1. the symbol set
  2. shape and locations of finders
  3. arrangement (3x3, 4x5 etc) and padding (space between symbols)
  4. 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:

  1. SymcodeScanner The scanning pipeline

  2. Finder To detect finder elements from a color image

  3. Fitter To find the correct perspective transform from finder candidates

  4. Reader To scan the image to read out a series of symbols

  5. Decoder To decode an array of symbols into bit string

  6. Encoder To encode a bit string into a Symcode Representation

  7. SymcodeGenerator To generate a Symcode image for a given Symcode representation

  8. Debugger For use during development to help visualizing the pipeline stages

Commit count: 549

cargo fmt