Halcon学习笔记_05:一维码、二维码
来源:互联网 发布:java生成压缩包 编辑:程序博客网 时间:2024/05/11 14:04
1.一维码
- 定义:
由一组规则排列的条、空以及对应的字符组成的标记,“条”指对光线反射率较低的部分,“空”指对光线反射率较高的部分,这些条和空组成的数据表达一定的信息,并能够用特定的设备识读,转换成与计算机兼容的二进制和十进制信息。
- 码制:
EAN 码:是国际通用的符号体系,是一种长度固定、无含意的条码,所表达的信息全部为数字,主要应用于商品标识。
39码和128码:为目前国内企业内部自定义码制,可以根据需要确定条码的长度和信息,它编码的信息可以是数字,也可以包含字母,主要应用于工业生产线领域、图书管理等。
93码:是一种类似于39码的条码,它的密度较高,能够替代39码。
25码:主要应用于包装、运输以及国际航空系统的机票顺序编号等。
Codabar码:应用于血库、图书馆、包裹等的跟踪管理。
ISBN:用于图书管理。
- 组成:
静区,指条码左右两端外侧与空的反射率相同的限定区域,它能使阅读器进入准备阅读的状态,当两个条码相距距离较近时,静区则有助于对它们加以区分,静区的宽度通常应不小于6mm(或10倍模块宽度)。
起始/终止符,指位于条码开始和结束的若干条与空,标志条码的开始和结束,同时提供了码制识别信息和阅读方向的信息。
数据符,位于条码中间的条、空结构,它包含条码所表达的特定信息。
构成条码的基本单位是模块,模块是指条码中最窄的条或空,模块的宽度通常以mm或mil(千分之一英寸)为单位。构成条码的一个条或空称为一个单元,一个单元包含的模块数是由编码方式决定的,有些码制中,如EAN码,所有单元由一个或多个模块组成;而另一些码制,如39码中,所有单元只有两种宽度,即宽单元和窄单元,其中的窄单元即为一个模块。
2.二维码
- 定义:
二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备扫描后可获取其中所包含的信息。一维条码的宽度记载着数据,而其长度没有记载数据。二维条码的长度、宽度均记载着数据。二维条码有一维条码没有的“定位点”和“容错机制”。容错机制在即使没有辨识到全部的条码、或是说条码有污损时,也可以正确地还原条码上的信息。
- 码制:
堆叠式/行排式二维条码(又称堆积式或层排式二维码),其编码原理是建立在一维条码基础之上,按需要堆积成二行或多行。它在编码设计、校验原理、识读方式等方面继承了一维条码的一些特点,识读设备与条码印刷与一维条码技术兼容。但由于行数的增加,需要对行进行判定,其译码算法与软件也不完全相同于一维条码。有代表性的行排式二维条码有:Code 16K、Code 49、PDF417等。
短阵式二维条码(又称棋盘式二维码)它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维条码所代表的意义。矩阵式二维条码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制。具有代表性的矩阵式二维条码有:Code One、Maxi Code、QR Code、 Data Matrix等。
3.HALCON支持的码制
HALCON支持的一维码的码制:
‘2/5 Industrial’, ‘2/5 Interleaved’, ‘Codabar’, ‘Code 128’, ‘Code 39’, ‘Code 93’, ‘EAN-13 Add-On 2’, ‘EAN-13 Add-On 5’, ‘EAN-13’, ‘EAN-8 Add-On 2’, ‘EAN-8 Add-On 5’, ‘EAN-8’, ‘GS1 DataBar Expanded Stacked’, ‘GS1 DataBar Expanded’, ‘GS1 DataBar Limited’, ‘GS1 DataBar Omnidir’, ‘GS1 DataBar Stacked Omnidir’, ‘GS1 DataBar Stacked’, ‘GS1 DataBar Truncated’, ‘GS1-128’, ‘MSI’, ‘PharmaCode’, ‘UPC-A Add-On 2’, ‘UPC-A Add-On 5’, ‘UPC-A’, ‘UPC-E Add-On 2’, ‘UPC-E Add-On 5’, ‘UPC-E’, ‘auto’
用到的函数:
create_bar_code_model find_bar_code clear_bar_code_model
- HALCON支持的二维码的码制;
‘Aztec Code’, ‘Data Matrix ECC 200’, ‘GS1 Aztec Code’, ‘GS1 DataMatrix’, ‘GS1 QR Code’, ‘Micro QR Code’, ‘PDF417’, ‘QR Code’
用到的函数:
create_data_code_2d_model find_data_code_2d clear_data_code_2d_model
参考文献:
1.基础知识:一维码、二维码
代码链接:
- Halcon学习笔记_05:一维码、二维码
- halcon例程学习笔记(11) 一维码、二维码识别
- halcon例程学习笔记(11) 一维码、二维码识别
- Java学习笔记_05
- OpenGL_Qt学习笔记之_05(纹理映射)
- HALCON学习笔记
- HALCON学习笔记
- HALCON学习笔记1
- HALCON学习笔记2
- HALCON学习笔记3
- halcon学习笔记(12)——相机实践标定及二维码
- halcon学习笔记(13)——二维码识别及简单定位
- halcon学习笔记(12)——相机实践标定及二维码
- Dotnet B/S 架构学习笔记_05(2008-12-09)
- Halcon基础教程1.3学习笔记
- 关于halcon学习的笔记
- Halcon 学习笔记 (一)
- Halcon学习笔记_01:Threshold
- C#学习之多线程开发技术(六)
- android下webview控件访问资源文件夹中的图片
- jQuery.ajax()
- Trie树
- Android之WebView使用技巧
- Halcon学习笔记_05:一维码、二维码
- CF_#324(Div.2)
- 开发实训10---Android---注册登录功能实现1
- cocos2dx WindowsError: [Error 5] : 'assets'
- android下支持emoji表情
- Linux块设备驱动之NOR FLASH
- Android中判断有无可用网络的代码(是否是3G或者WIFI网络)
- 并行编程提高软件处理速度
- 心情