Labview 做二维码识别

最近一个折腾死人的项目,用labview做二维码识别,照理来说很简单,直接调用labview 的 DM识别模块就可以,由于识别的二维码各种各样,出现各种各样的问题,记录一下。

逻辑,先飞拍,初始设置好阈值,二维码大小,比例,border占比,其他的都auto,然后识别不到的,加阈值减阈值再算一次,加ROI不加ROI再算一次;都拍不出来,相机回去重拍一次,左移右移再拍一次,调算法。

问题,对于灰底黑码的,产品表面有毛刺和不平的地方,导致打光不均,散点多,识别率低,而且由于掉了多次算法,莫名其妙非常卡顿。

将ROI取消,直接对照片进行识别,反而成功率识别率高于有ROI的情况,不知道什么原因。有时候又是有ROI的识别率高于无ROI的。

设置扫码高级参数,hightlight filter, line detect ,refine bondary,JNC ,arregresive。最佳效果是只把line detect打开。对于模糊的打开highlight。但可能导致速度变慢。其他的感觉影响不大,refine 和JNC很影响速度。

border 设置的越低,读码速度越慢

threshold越低,读码速度越慢

size 范围越大,读码速度越慢,甚至可能读不到

ratio 可以设置为1(对于正方形条码),比ratio设置为0速度要快一些。

图像处理,将图像做个乘积,效果要好一些,分析应该是增加了对比度,亮的变亮,暗的变亮没那么多。

gamma变换不敢随便做,不知道怎么自动设置最优,设置好一个参数,换个产品换个位置可能又不行了

换成蓝光低角度环形光源,二维码照片质量直线上升,可以扫出来,一次识别成功。偶尔出现不良现象,偶尔卡顿。

换产品,卡顿变严重,11阶高斯滤波,不卡顿,可识别。

但出现误码现象,一个码扫成了另一个码,将高斯滤波11阶改为5阶。并且只在其他方式没识别的时候调用。不确定重码误码是不是识别错了?当时没有专门重扫,只是改了后看效果好没有验证之前效果差的版本。

二维码如果很虚,识别效果很差,也很慢。慢的原因暂时未知。

vision 助手里面,可以直接suggest value ,自动捕捉合适的参数,不知道怎么在程序中调用这个方法。

重扫时,暂停,并重置,由于未重置相机的飞拍属性,导致还在软触发模式,导致相机一直软触发拍照,出现重码、大面积NG现象。

目前还有一个问题:UID串码。目前看是测试机没读到我的数据,出现NG,测试机直接忽略了?也有可能是出现NG,我的某个文件写错了??合并文件的某一个。居然是因为扫码扫出来一个/n换行符,文件直接换行了。我靠。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
LabVIEW是一款强大的图形化编程环境,它可以通过使用Vision Development Module来识别二维码。在LabVIEW中,开发者可以利用Vision Development Module中的图像处理函数来对图像进行处理,包括二维码识别和解码。 要实现二维码识别,首先需要使用LabVIEW来获取图像数据,可以通过摄像头或者图像文件来获取。然后利用Vision Development Module中的图像处理函数,对图像进行预处理,包括灰度化、二值化、去噪等处理,以便更好地识别二维码。接着使用二维码解码算法,对处理后的图像进行检测和识别二维码,最终将二维码中的信息解码出来。 LabVIEW中的Vision Development Module提供了一系列丰富的图像处理和分析函数,包括用于二维码识别的功能模块,开发者可以根据具体的需求和应用场景来选择合适的函数进行组合和调用,从而实现二维码识别功能。 通过LabVIEW的图形化编程环境,开发者可以直观地设计并调整图像处理的流程,实时查看处理后的效果,快速迭代优化算法,从而高效地实现二维码识别。同时,LabVIEW还提供了丰富的图像显示和结果输出功能,方便开发者进行实时的调试和结果展示。 综上所述,LabVIEW可以通过Vision Development Module来实现二维码识别,利用其丰富的图像处理函数和直观的图形化编程环境,开发者可以高效地实现二维码识别和解码功能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值