halcon二维码识别

对于二维码识别并没有过多的解释,halcon封装了这类的算子,拿来即用。

halcon代码:

 read_image (Image, '二维码图片路径。。。')
 rgb1_to_gray (Image, GrayImage) 
*创建一个二维码数据class模型
 create_data_code_2d_model ('QR Code','default_parameters', 'maximum_recognition',DataCodeHandle) 
*-检测和读取图像中的二维数据代码符号或训练二维数据代码模型。
 find_data_code_2d (GrayImage,SymbolXLDs,DataCodeHandle, 'train', 'all',ResultHandles, DecodedDataStrings) 
*删除2D数据代码模型并释放分配的内存。
 clear_data_code_2d_model(DataCodeHandle) 

如果想使用摄像头来扫描二维码,这里以笔记本摄像头为例:

*打开并配置图像采集设备,这条代码可由halcon自动检测生成
open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '[0] BisonCam, NB Pro', 0, -1, AcqHandle)
*从采集的图像设备中开启异步捕获
grab_image_start (AcqHandle, -1)
*设置系统参数,filename_encoding,字符编码设置为utf8
set_system ('filename_encoding', 'utf8')
while (true)
    *从采集图像的设备中异步抓取图像
    grab_image_async (Image, AcqHandle, -1)
    
    rgb1_to_gray (Image, GrayImage) 
    create_data_code_2d_model ('QR Code','default_parameters', 'maximum_recognition',DataCodeHandle) 
    find_data_code_2d (GrayImage,SymbolXLDs,DataCodeHandle, 'train', 'all',ResultHandles, DecodedDataStrings) 
    clear_data_code_2d_model(DataCodeHandle) 
    
endwhile
*关闭指定的图像采集设备。
close_framegrabber (AcqHandle)

效果图:

其中DecodedDataStrings变量里面的网址可以通过浏览器访问

如果说打开你的笔记本摄像头出现异常请参照如何通过halcon自动检索摄像头设备并生成代码:

https://jingyan.baidu.com/article/4f34706e2a4449e386b56d76.html

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值