1 个不稳定版本
0.1.0 | 2021年4月3日 |
---|
#9 在 #人类
93KB
2K SLoC
概要
symcode
是编程库,提供设计符号条码的基础设施,同时支持Acute32
的演示实现。
一个SymCode由一个在网格结构中排列的符号数组组成。
可以自定义的内容
- 符号集
- 查找器的形状和位置
- 排列(3x3、4x5等)和填充(符号之间的空间)
- 编码和错误检测方案(针对不同的有效负载大小)
我们提供了一个配置为3x3的演示实现Acute32
:5个符号 * 5位/符号 = 20位有效负载 + 5位校验和
第二个配置可以编码更多的位:5x4 -> 16个符号 * 5位/符号 = 64位有效负载 + 16位校验和
架构
/acute32
模块实现了扫描器特性。
/interfaces
模块定义了扫描器和生成器不同阶段的抽象概念
-
SymcodeScanner
扫描管道 -
Finder
用于从彩色图像中检测查找元素 -
Fitter
用于从查找候选者中找到正确的透视变换 -
Reader
用于扫描图像以读取一系列符号 -
Decoder
用于将符号数组解码成位字符串 -
Encoder
用于将位字符串编码成Symcode表示 -
SymcodeGenerator
用于为给定的Symcode表示生成Symcode图像 -
Debugger
用于开发期间使用,有助于可视化管道阶段
依赖项
~4.5MB
~85K SLoC