恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
关于识别码的总结
首页
资讯中心
/
关于识别码的总结
关于识别码的总结
发布时间:2026/8/23 8:24:58
一、这 13 种条码/二维码在静区、文本格式、校验机制和编码原理上的核心特征总结如下码制名称维度类型静区Quiet Zone要求支持文本格式 / 字符集校验机制编码原理与结构特征Aztec2D 矩阵码完全不需要静区全 ASCII、数字、字节、汉字里德-所罗门Reed-Solomon纠错中心靶心定位正中央为同心圆/方框靶心数据呈环状向外扩散布局不依赖外边缘。Codabar1D 条码需要$\ge 10\times$ 模块宽度纯数字 6 种符号- $ : / . 必须带A/B/C/D起止符无强制校验可选 Modulo 16自校验字符7 个元素4条 3空表示一个字符依靠独特的起止符确定扫描边界。Code 391D 条码需要$\ge 10\times$ 模块宽度大写字母A-Z、数字0-9、7 种符号、*起止符无强制校验可选 Modulo 433宽6窄结构每个字符由 9 个元素组成5条 3空其中恰好有 3 个宽元素故名 39 码。Code 931D 条码需要$\ge 10\times$ 模块宽度完整 ASCII标准版支持大写数字扩展版支持全 ASCII强制双重校验Modulo 47即 C 和 K 双校验位高密度连续码每个字符占 9 模块宽度3条 3空密度比 Code 39 高 30%安全性极高。Code 1281D 条码需要$\ge 10\times$ 模块宽度完整 ASCII 128 字符分为 A/B/C 三套动态切换字符集强制单位校验Modulo 103 校验位多集动态切换每个字符 11 模块宽度3条 3空字符集 C 可以用 1 个字符位表示 2 位数字。DataMatrix2D 矩阵码需要$\ge 1\times$ 模块宽度文本、数字、字节、高密度二进制数据里德-所罗门RS ECC 200纠错L型边界定位左/下两条连续实线L型定位右/上交替点线控制行列内部为黑白方格。EAN-81D 条码需要左/右 $\ge 7\times$ 模块宽度纯数字固定 8 位强制末位校验Modulo 10商品短码左右各 4 位数字中间有 Guard Bars 隔离专用于小尺寸商品包装。EAN-131D 条码需要左 $11\times$ / 右 $7\times$纯数字固定 13 位强制末位校验Modulo 10全球标准商品码由国家/厂商/商品码构成第 1 位数字通过两侧字符的奇偶奇性隐式编码。ITF(Interleaved 2/5)1D 条码需要$\ge 10\times$ 模块宽度纯数字必须为偶数位长度可选 Modulo 10ITF-14 强制定长校验交错编码每两个数字成对交叉第1位数用 5 个“条”表示第2位数用夹在中间的 5 个“空”表示。PDF4172D 层叠码需要$\ge 2\times$ 模块宽度大容量文本、数字、二进制字节里德-所罗门RS 纠错0~8 可选等级多行一维码堆叠每行包含起始/终止符和行号纵向有一定高度兼具一维与二维特性。QR Code2D 矩阵码需要$\ge 4\times$ 模块宽度文本、数字、字节、UTF-8 / GBK 汉字里德-所罗门RS 纠错L/M/Q/H 四级三角回字形定位依靠三个角上的“回”字形图案Position Pattern确定方向与坐标。UPC-A1D 条码需要$\ge 9\times$ 模块宽度纯数字固定 12 位强制末位校验Modulo 10北美零售标准结构与 EAN-13 系统码为 0 的情况完全等价。UPC-E1D 条码需要$\ge 7\times$ 模块宽度纯数字固定 6 位强制隐式校验通过字符奇偶序列隐式编码零消除压缩码将 12 位 UPC-A 中连续的“0”压缩掉专门用于微型商品包装。二、可以使用的开源库ZXing。ZXingZebra Crossing将图像处理、计算几何、代数纠错与信息论融为一体其底层核心算法涵盖了从图像二值化到数据恢复的全流程1. 图像预处理与二值化算法HybridBinarizer局部自适应阈值ZXing 的默认图像处理算法。它将图像切割为 $8 \times 8$ 像素的网格小块计算每个小块的平均亮度阈值并结合周边 $5 \times 5$ 网格做平滑处理能有效抵御局部阴影、高反光和光照不均。GlobalHistogramBinarizer全局直方图双峰法通过分析全图的灰度直方图寻找波谷作为分割阈值类似大津法 Otsu 的简化版计算开销小常用于低性能设备或均匀光照场景。2. 几何定位与倾斜校正算法一维码采样线与模式匹配Scanlines Ratio Matching在图像上画出多条横向/纵向采样线计算明暗像素脉冲宽度。通过比例匹配算法如查找一维码的起止符或宽窄比例定位条码位置。透视变换Perspective TransformQR Code通过寻找 $1:1:3:1:1$ 比例特征的“回”字形定位角点Finder Pattern获得 3 个主角点与 1 个对齐点Alignment Pattern求解 $3 \times 3$单应性透视变换矩阵将倾斜、拉伸、扭曲的图片投影矫正为正方形网格。Data Matrix检测两条连续相交的实线L 型边结合点阵边缘计算主轴方向与坐标变换矩阵。Aztec Code利用中心向外扩散螺旋扫描算法定位中央的同心方框靶心Bullseye Pattern。3. 坐标采样算法GridSampler网格采样器在获得透视变换矩阵后利用坐标映射公式从原始图像中进行最近邻插值Nearest Neighbor Interpolation或采样将连续的图像像素还原为离散的黑白布尔矩阵BitMatrix。4. 纠错与数学译码算法里德-所罗门纠错算法Reed-Solomon ECC应用于 QR Code、Data Matrix、Aztec 和 PDF417。数学基础在伽罗瓦有限域Galois Field如 $GF(2^8)$ 或 $GF(2^6)$上建立生成多项式。解题核心利用Berlekamp-Massey 算法求解错误位置多项式结合Chien Search钱氏搜索和Forney 算法计算错误位置与掩码从而在条码破损、污染高达 30% 时依然能够精确恢复数据。模数校验算法Modulo Checksum应用于一维码如 Modulo 10/43/47/103。通过对提取出的黑白宽度数据进行加权求和并取模验证数据传输完整性。5. 模式切换与数据流解析因此完整的UPC-A条形码就是036000291452036000291452。BitSource 位流解析将还原出的原始字节流按位Bit读取解析 Header 里的 Mode 标识符在数字模式Numeric、大写模式Alphanumeric、字节模式Byte以及 ECI 多语言模式UTF-8/GBK之间动态切换最终还原为文本字符串。三、关于识别码的校验方式。1UPC-A条形码的检验方法固定12位最后一位是校验位。UPC-A条形码的最后一位采用的是Modulo 10模10校验算法这个算法也被称为GTIN-12校验位计算法。它的具体计算方式非常清晰遵循一套固定的步骤。校验算法计算步骤下面以UPC-A的前11位数字不含校验位为例假设这11位数字是03600029145来说明完整的计算过程奇数位求和将从左边开始的第1、3、5、7、9、11位数字相加。例子0 6 0 2 1 5 14乘以3将第1步得到的和乘以3。例子14 × 3 42偶数位求和将从左边开始的第2、4、6、8、10位数字相加。例子3 0 0 9 4 16计算总和将第2步和第3步的结果相加。例子42 16 58确定校验位找出一个数字0-9使得它与第4步的总和相加后能被10整除。这个数字就是校验位。例子58 2 6060能被10整除所以校验位是2。