10、Halcon图像条形码和二维码识别
1、条形码
原理:一维条形码由黑白两种颜色组成,具有宽高两个尺寸,其中宽度方向代表着数据信息。条形码上是一般标注着字符、数字、符号等。比如下面的Code128-A、Code128-B、Code128-C。
条形码一般是由前置符、中止符、数据符、中间分隔符、校验等组成。条形码是利用条纹和间隔或宽窄条纹构成二进制的“0”、“1”,反映实际信息。
算子:
create_bar_code_model:创建条码模型。
find_bar_code:条形码识别。
2、二维码
原理:二维码是在一维码的基础上扩展出来的条码,使用黑白矩形图案表示二进制数据。一维条形码的宽度代表着某些数据,而长度没有记载数据。二维码的长度、宽度都载着数据。二维码并且有定位矩形的以及容错机制,即使二维码有部分污染时,也能尽可能的还原信息。同样二维码也具有不同的标准,具有多种格式。但是,halcon仅支持UTF-8和LOCATE两种字符集。UTF-8是一种编码规则。
算子:
create_data_code_2d_model:创建二维码模型。
find_data_code_2d:二维码识别。
程序讲解:
(1)、条形码
读取图片
*读取条形码
read_image (Image, '1.png')
rgb1_to_gray (Image, GrayImage)
创建条码模型
*创建条码模型。参数默认
create_bar_code_model ([], [], BarCodeHandle)
条形码识别
*参数4:要识别的条形码类别。不知道识别的条形码类型的话就写'auto'
find_bar_code (GrayImage, SymbolRegions, BarCodeHandle, 'auto', DecodedDataStrings)
结束,清除条形码模型(再次识别的话,还需要再次创建模型)
*清除前面创建的条形码模型
clear_bar_code_model (BarCodeHandle)
(2)、二维码
读取图片
*读取二维码图
read_image (Image1, 'myTest.png')
rgb1_to_gray (Image1, GrayImage1)
创建二维码模型
*创建二维码模型
create_data_code_2d_model ('QR Code', [], [], DataCodeHandle)
二维码识别
*二维码识别
*参数4、参数5,默认的如果不能识别,设置为'train'、'all',增加训练(程序时间变长)
*find_data_code_2d (GrayImage1, SymbolXLDs, DataCodeHandle, [], [], ResultHandles, DecodedDataStrings1)
find_data_code_2d (GrayImage1, SymbolXLDs, DataCodeHandle, 'train', 'all', ResultHandles, DecodedDataStrings1)
识别结束,清除前面创建的二维码模型
**清除前面创建的二维码模型
clear_data_code_2d_model (DataCodeHandle)
如果使用GB2312生成的二维码,在halcon中将无法识别。
*注意:测试的图片都是没有干扰的图像,识别准确。如果有干扰的话,需要将条形码、二维码裁剪出来。
工程代码链接:
https://download.csdn.net/download/panjinliang066333/12238906
附加
多张图像二维码识别:
https://download.csdn.net/download/panjinliang066333/12241341
10、Halcon图像条形码和二维码识别相关推荐
- Halcon二维码识别,多二维码识别,附代码及常见算子解释
前言 二维码作为机器视觉常见的检测场景,常常用于产品类型检测,MES系统对接等场景,不同于常见的halcon图像处理流程,二维码识别不需要做图像分割便可以很快的完成二维码区域定位与二维码检测.这里对常 ...
- Halcon图像的一维码二维码识别
7.1识别一维码的流程和方法 一维码的码制: 一维条码即指条码条和空的排列规则,常用的一维码的码制包括:EAN 码.39 码. 交叉 25 码.UPC 码.128 码.93 码,ISBN 码,及 Co ...
- Halcon一维码和二维码识别
Halcon一维码和二维码识别 一.Halcon一维码识别 二.Halcon二维码识别 一.Halcon一维码识别 1.一维码的识别过程: (1).创建条码模型create_bar_code_mode ...
- halcon例程学习 一维码、二维码识别
1.一维条码 一维条码:由一组规则排列的条.空以及对应的字符组成的标记,"条"指对光线反射率较低的部分,"空"指对光线反射率较高的部分,这些条和空组成的数据表达 ...
- java——记录一次条形码、二维码、订单自动生成的制作
目录 条形码的生成 解决方案 生成结果如下 工具包下载 代码如下 二维码码的生成 解决方案 生成结果如下 工具包下载 代码如下 订单自动生成的制作 效果如下 源代码下载 条形码的生成 解决方案 使用j ...
- Opencv+ZBar识别条形码、二维码
文章目录 Opencv识别条形码.二维码 1.ZBar环境配置 2.一维码(条形码)识别 3. 二维码的识别 4. Opencv识别二维码 结束 Opencv识别条形码.二维码 最近的一次作业,恰好之 ...
- 【MaixPY 教程】用mixly玩转k210——条形码、二维码、AprilTag识别
[MaixPY 教程]用mixly玩转k210--条形码.二维码.AprilTag识别 [MaixPy系列教程:] [MaixPy教程]用maixHub训练模型进行开源硬件识别 [MaixPy 教程] ...
- 基于opencv3.0和zbar下条形码和二维码的识别与解码
其中对条码与二维码的识别分为以下4个步骤 1. 利用opencv和Zbar(或者Zxing)对标准的条形码图片(即没有多余背景干扰,且图片没有倾斜)进行解码,将解码信息显示出来,并与原始信息对比. 2 ...
- 条形码和二维码编码解码工具类源码
有一个好的工具,会让你的开发事半功倍.再将讲这个工具类之前,我先给小白补充一点条形码和二维码(以下基础知识选自,我本科阶段的一本教材:<物联网导论>(刘云浩 编著).有对物联网感兴趣的,可 ...
- python实现二维码识别软件_OpenCV和Zbar两个Python模块实现二维码和条形码识别
在我们的日常生活中,处处可见条形码和二维码. 在以前,我们去逛书店时,或者你现在随手拿起你身边的一本书,你肯定能看到书本的封页后面印有一排黑色线条组成的标签,也就是条形码:你去你们学校的自助机上借书还 ...
最新文章
- AI服务器的优势有哪些?人工智能服务器产品有哪些?
- TCP建立连接三次握手及其断开过程
- android.view.InflateException: Binary XML file line #34: Error inflating class
- 不用任何插件实现 WordPress 的彩色标签云
- 如何将JAR包发布到Maven中央仓库?
- 国外开源的PACS服务器
- 一个牛逼的coder是这样诞生的。
- Ubuntu18.04 安装Nvidia驱动
- 1.4.4 Mother's Mil 母亲的牛奶(DFS)
- toast弹窗_弹窗功能解析amp;设计指南 | 为弹窗正名
- 网站盗取html文件工具,一键获取仿站精灵
- js-export-excel 前端将表格里的数据转excel下载到本地
- Python 计算变上限二重积分的数值模拟基础
- uniapp 实现拨打电话
- 图神经网络 | (6) 图分类(SAGPool)实战
- 微软开源 纸牌游戏代码_5个适用于Linux的开源纸牌和棋盘游戏
- 小伙伴们-GO-带你揭开Linux的神秘面纱
- 前端-Vuejs2.5开发去哪儿网
- Revit API 进阶之隐藏dll讲解.
- Word转Latex:基于Python的半自动化排版