LabVIEW利用NI Vision进行一维码读取

   LabVIEW利用NI Vision进行一维码读取

       在实际工业生产中,常常出现需要读取条码的情况,现在利用NI Vision进行条码读取。然而在实际生产中,相比于优化算法,提升硬件解决问题更加治本。

       这张照片是用手机拍摄的,且像素太差,造成读码效果比较差,但只是一个抛砖引玉的引子,不必过于计较。

       因为是利用NI Vision进行图像处理,所以可以先在NI Vision中将图像处理完成后再生成VI,再做相应更改,比较方便。Labview中的函数控件包含NI Vision中的算子,所以笔者直接利用labview算子编程。

       整个程序框图如上,整个程序是将图片中的产品单个截取出来进行读码,减少计算。首先导入图片,对图像进行二值化处理。在二值化处理时,是对图像的阈值进行设定,若不清楚当前图像的灰度值分布,可以借助NI Vision中的灰度处理栏中的Threshold Setup中的函数查看。

        因为想要提取出来的图片中的白色部分,白色部分的灰度值比较大,从而判断白色部分的灰度值集中在200~255区间,所以灰度阈值取在这个区间左右即可。 将图像二值化后,就需要将图像中的产品图像提取出来,通过灰度图像处理,将每个产品的区域划分出来。

       二值化图像处理最终得到的图像如上, 可以运用这个图像生成ROI或者掩模都是可以的。笔者运用其生成一个矩形区域,然后在原图的灰度图上进行分割,将每个产品一个一个从图片上割下来进行读码。

       最终读码信息如上,虽然5个条码都是一样的,但是可以观察到位置都是不一样的。实际工厂生产中,可以利用工业相机将图片拍照更清晰些,然后读取想要的条码,成功率会更高。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值