当前位置: 首页 > news >正文

Halcon基础-二维码识别

Halcon基础-二维码识别

  • 1、二维码分类
  • 2、代码实现
  • 3、运行效果


1、二维码分类

二维码(Quick Response Code,简称 QR Code)是一种矩阵式二维码,能够在水平和垂直方向上存储信息。它们最初由日本的丰田子公司Denso Wave在1994年发明,目的是为了追踪汽车制造过程中的零件,并且能够比传统条形码存储更多的信息。随着时间的发展,二维码的应用范围不断扩大,涵盖了从广告到物流等多个领域。根据功能和应用的不同,二维码可以分为以下几类:

标准二维码:这是最基本的类型,用于存储文本、URL链接、电话号码等信息。当用设备扫描这些二维码时,它们会直接引导用户到指定的网页或显示存储的信息。
营销二维码:这类二维码通常用于市场营销活动,例如促销活动、优惠券发放、产品信息展示等。商家可以通过营销二维码来吸引顾客,提高品牌知名度。
支付二维码:随着移动支付的普及,支付二维码成为了一种流行的支付方式。消费者可以通过扫描商家提供的二维码来完成支付操作。
安全二维码:这类二维码通常包含加密信息,用于身份验证、安全登录等场景。安全二维码通常有一套复杂的加密算法来保证信息的安全性。
位置二维码:用于标识特定的位置,如博物馆中的展品介绍、旅游景点信息等。
Wi-Fi连接二维码:通过扫描此类二维码,可以直接连接到指定的Wi-Fi网络,无需手动输入密码。
个人名片二维码 :包含个人联系信息,如姓名、电话号码、电子邮件地址等,方便交换个人信息。
物流二维码:用于跟踪货物的运输状态,从发货地到收货地的所有物流信息都可以通过扫描二维码获得。
健康码/通行码:特别是在疫情期间,健康码成为了人们出入公共场所的一种凭证,显示个人的健康状况以及是否适合进入某些区域。
以上是二维码的一些主要分类,每一种都有其特定的应用场景和服务对象。随着技术的发展,二维码的应用将会更加广泛和深入。

2、代码实现

1、创建文件,打开Halcon软件,界面如下:没有显示出的界面可以在窗口菜单栏点击显示出来。
在这里插入图片描述
2、编写代码
这里我们实现的是QR二维码的识别,完整代码如下:

dev_get_window (WindowHandle)
*这里选择自己的二维码图片路径
read_image (Image, 'C:/Users/Administrator/Desktop/code1.bmp')
*get_image_size (Image, Width, Height)
*draw_rectangle1 (WindowHandle, Row1, Column1, Row2, Column2)
*gen_rectangle1 (Rectangle, 329, 396, 479, 530)
*reduce_domain(Image, Rectangle, Image1)
*crop_domain (Image1, ImagePart3)
rgb1_to_gray (Image, GrayImage) 
scale_image (GrayImage, ImageScaled, 1, 6)
create_data_code_2d_model ('QR Code', 'default_parameters', 'maximum_recognition', DataCodeHandle)
*超时时间设置
set_data_code_2d_param (DataCodeHandle, 'timeout', 300)
*设置二维码极性 dark_on_light 白色背景黑码 light_on_dark 
set_data_code_2d_param (DataCodeHandle, 'polarity', 'dark_on_light')
*最小码粒子数
set_data_code_2d_param (DataCodeHandle, 'symbol_size_min', 21)
*最大码粒子数
set_data_code_2d_param (DataCodeHandle, 'symbol_size_max', 57)
*对比度
set_data_code_2d_param (DataCodeHandle, 'contrast_min', 25)
*最小码粒子像素
set_data_code_2d_param (DataCodeHandle, 'module_size_min', 1)
*最大码粒子像素
set_data_code_2d_param (DataCodeHandle, 'module_size_max',30)
set_data_code_2d_param (DataCodeHandle, 'module_gap', 'no')
find_data_code_2d (GrayImage, SymbolXLDs, DataCodeHandle, 'stop_after_result_num', 1, ResultHandles, DecodedDataStrings)

3、运行效果

请添加图片描述


http://www.mrgr.cn/news/52561.html

相关文章:

  • Java:类和对象
  • 【前端】Matter:基础概念与入门
  • 双指针 — 复写零
  • Java集合(2 :List)
  • 【工具变量】上市公司当年是否发生财务重述指标整理Stata代码(2000-2023年)
  • 【即见未来,为何不拜】聊聊分布式系统中的故障监测机制——Phi Accrual failure detector
  • [0633].第3-3节:@SentinueResource注解
  • nequip代码
  • 第二十三节 视频处理与保存
  • 初尝类型萃取--typename、模板偏特化、和traits之(三)类型萃取
  • [算法日常] 逆序对
  • 2024年了,视频生成模型离通用世界模拟器还有多大差距?SOTA模型全面评估
  • 单链表的定义
  • 数据结构 —— 链式二叉树(C语言讲解)
  • 【蓝队技能】【C2流量分析】MSFCSSliver
  • netron安装(windows linux)
  • VS2022如何查看dll的函数
  • 模型实战(27)之 YOLO11 推理、验证及训练自己的数据集
  • Java设计模式六大原则
  • 【Vue】Vue3.0 (十二)、watchEffect 和watch的区别及使用