Halcon二维码识别(创建-训练-识别-清除)

**********************初阶,创建-识别-清除***************************

create_data_code_2d_model ('QR Code', [], [], DataCodeHandle)

read_image(Image1,'C:/Users/研发/Pictures/Saved Pictures/二维码/123456.PNG')

find_data_code_2d(Image1, SymbolXLDs1, DataCodeHandle, [], [], ResultHandles, DecodedDataStrings)

clear_data_code_2d_model (DataCodeHandle)

***********************进阶,创建-训练-识别-清除**********************

*训练二维码,只需将find_data_code_2d_model中的参数设为train、all

Path:='D:\\IPI\\Halcon12Projects\\二维码训练模板.dcm'

*创建

create_data_code_2d_model ('QR Code', [], [], DataCodeHandle)

list_files ('D:/2dcode', 'files', Files)

for Index:=0 to |Files|-1 by 1

read_image (Image, Files[Index])

*训练

find_data_code_2d (Image,SymbolXLDs,DataCodeHandle,'train','all', ResultHandles, DecodedDataStrings)

endfor

*写入本地

write_data_code_2d_model(DataCodeHandle,Path)

*使用训练的模板进行识别,若识别失败,则进行训练当前图像(若训练后识别成功,则将训练后的句柄写入)

file_exists(Path, FileExists)

if(FileExists=1)

*读取本地

read_data_code_2d_model (Path, DataCodeHandle)

list_files ('D:/2dcode', 'files', Files)

for Index:=0 to |Files|-1 by 1

read_image (Image, Files[Index])

*使用训练的句柄识别

find_data_code_2d(Image, SymbolXLDs, DataCodeHandle, [], [], ResultHandles, DecodedDataStrings)

count_obj(SymbolXLDs, Number)

*判断围绕二维码的轮廓是否小于1

if(Number<1)

find_data_code_2d (Image,SymbolXLDs,DataCodeHandle,'train','all', ResultHandles, DecodedDataStrings)

count_obj(SymbolXLDs,Number)

if(Number>0)

write_data_code_2d_model (DataCodeHandle,Path)

endif

endif

if(Number<1)

disp_message(3600,'NG', 'window', 12, 12, 'black', 'true')

else

disp_message(3600,'OK\r\n'+DecodedDataStrings, 'window', 12, 12, 'black', 'true')

dev_display (SymbolXLDs)

endif

endfor

write_data_code_2d_model (DataCodeHandle,Path)

else

stop()

endif

*清除句柄,释放内存

clear_data_code_2d_model (DataCodeHandle)

原文地址:http://blog.51cto.com/green906/2157684

时间: 2024-08-02 11:34:14

Halcon二维码识别(创建-训练-识别-清除)的相关文章

Android 基于google Zxing实现二维码的生成,识别和长按识别的效果

最近项目用到了二维码的生成与识别,之前没有接触这块,然后就上网搜了搜,发现有好多这方面的资源,特别是google Zxing对二维码的封装,实现的已经不错了,可以直接拿过来引用,下载了他们的源码后,只做了少少的改动,就是在Demo中增加了长按识别的功能,网上虽然也有长按识别的Demo,但好多下载下来却无法运行,然后总结了一下,加在了下面的Demo中. 如图所示,引用时直接把用红色圈起来的包放在你项目所对应的文件夹下,当然一些资源文件,比如string.xml里项目的引用你自己添加上就是 当然别忘

[blog 机器视觉]一维二维码的提取、识别和产生

一维二维码的提取.识别和产生 零.相关说明: 在"jsxyhelu.cnblogs.com/机器视觉"栏目主要介绍和图像处理和机器视觉相关的的成套的解决方案.思路和软件集.希望能够为大家在实际工作中解决具体问题提供一些帮助. 一.背景资料: 现在一维码.二维码广泛使用于工业各方面.很多和图像处理相关的需求也有所涉及.这里也看过一些论文,里面有一些方法还是art-of-air的,也有一些具备一定参考价值.这里只是谈一谈一般情况下的提取和识别.对于特殊情况,肯定要特殊对待,其实本身是一个增

二维码的生成与识别

二维码的生成与识别 大学最后一次课程设计,居然是数字图像处理.可以想象有多为难,对于一个普通的二本学生来说,这无疑是一个挑战.好在老师对我们放低了要求,可以站在巨人的肩膀上,可以从网上down别人的代码,但是一定要弄懂.我们组选择题目的是二维码的生成与识别.完成这个课设才发现平常生活中随处可见的二维码居然这么复杂.果然不了解就没有发言权啊. 下面我就把我总结的关于二维码的相关知识点分享一下. 二维码 二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的

ios 中生成二维码和相册中识别二维码

iOS 使用CIDetector扫描相册二维码.原生扫描 原生扫描 iOS7之后,AVFoundation让我们终于可以使用原生扫描进行扫码了(二维码与条码皆可)AVFoundation可以让我们从设备中获取到输入流与输出流,从而获取二维码中包含的信息. 实现原生扫描非常简单.1.先导入AVFoundation框架.<AVFoundation/AVFoundation.h>2.接着设置代理,实现代理回调方法AVCaptureMetadataOutputObjectsDelegate3.然后创建

微信公众平台开发(三)——二维码、创建菜单

一.二维码 目前有2种类型的二维码:点击查看在线文档 1.临时二维码,是有过期时间的,最长可以设置为在二维码生成后的7天(即604800秒)后过期,但能够生成较多数量.临时二维码主要用于帐号绑定等不要求二维码永久保存的业务场景2.永久二维码,是无过期时间的,但数量较少(目前为最多10万个).永久二维码主要用于适用于帐号绑定.用户来源统计等场景.永久二维码时最大值为100000(目前参数只支持1--100000). 下面的代码是获取永久二维码的事例: /** * 获取永久二维码需要的ticket

Android二维码之创建

1.Android 有自带的jar包可以生成二维码core-3.0.0.jar,其中的com.google.zxing包 2.写一个二维码生成的工具类,网上搜的话应该一大堆. 1 package com.example.administrator.twocodedemo; 2 3 import android.content.Context; 4 import android.graphics.Bitmap; 5 import android.graphics.Bitmap.Config; 6

QRCode - 二维码识别与生成

来源:Yi'mouleng(@丶伊眸冷) 链接:http://t.cn/R40WxcM 前言 有关二维码的介绍,我这里不做过多说明, 可以直接去基维百科查看,附上链接QR code(https://en.wikipedia.org/wiki/QR_code). IOS7之前,开发者进行扫码编程时,一般会借助第三方库.常用的是ZBarSDKa和ZXingObjC,IOS7之后,系统的AVMetadataObject类中,为我们提供了解析二维码的接口.经过测试,使用原生API扫描和处理的效率非常高,

关于viewport引起的微信二维码识别区域偏移的问题讨论与解决

一.问题概述 在开发一个含有二维码的微信页面时,我遇到了这样一个问题:使用iPhone第一次进入该页面时,二维码可以长按识别,但第二次进入时长按无法识别到二维码.安卓机都能识别. 二.我进行了以下尝试: 移除控制进入条件的脚本,即部分第一次第二次,长按不能识别二维码.暂时排除脚本原因. 移除二维码所有样式,发现并不是不能识别到二维码而是识别区域发生了偏移.(图1) 移除所有元素,页面上只留一张二维码,发现识别区域变大.虽然整张图都被识别了但图片外面的区域也会被识别.(图2) 图1 图2阶段性结论

OpenCV和Zbar两个Python模块实现二维码和条形码识别

在我们的日常生活中,处处可见条形码和二维码. 在以前,我们去逛书店时,或者你现在随手拿起你身边的一本书,你肯定能看到书本的封页后面印有一排黑色线条组成的标签,也就是条形码:你去你们学校的自助机上借书还书时识别的也是条形码:哦,对了,你还记得每次大型考试答题卡上都会贴上监考老师分发给你的那个标签吗?还是条形码:甚至现在你随随便便逛个超市或便利店,收银员或者自助机也都是通过扫商品条形码给你计价的.条形码在我们的日常生活中真的是随处可见. 到了后来,2016年之后,二维码也渐渐开始普及起来,现在二维码