Labview机器视觉(5)-条形码读取

测试源码:http://download.csdn.net/detail/fzxy002763/3809570

labview中有可以直接获取条形码的控件

Labview机器视觉(5)-条形码读取_第1张图片

依照这个控件的要求,我们需要设置roi descriptor(关注区),barcode type(条形码类型),image(图像流).

这里先解释下超市里面常用的条形码EAN-13,EAN13码标准码共13位数,系由「国家代码」3位数,「厂商代码」5位数,「产品代码」4位数,以及「校正码」1位数组成。其排列如下:

Labview机器视觉(5)-条形码读取_第2张图片

EAN-13码的结构与编码方式如图所示,包括:
1.国家号码由国际商品条码总会授权,我国的「国家号码」为「690-695」。
厂商代码由国家商品条码策进会核发给申请厂商,占四五个码,代表申请厂商的号码。
产品代码占四个码,系代表单项产品的号码,由厂商自由编定。
2.校正码占一个码,系为防止条码扫瞄器误读的自我检查。

了解这些后,我们开始进行程序的编写

再获得视频流数据后,我们需要对图片上得数据进行处理,为了处理图像的准确度,第一步先进行彩色图像转黑白的过程

Labview机器视觉(5)-条形码读取_第3张图片

黑白化后对图像中的roi区域进行条形码的识别,这里采用了一个局部变量来传递roi的值,我采用的方法是,在程序开始的时候拍一张确定roi的区域,然后动态的在此区域中进行连续的条形码判断。程序最后加入了一个消除错误的控件,如果条形码没有匹配对,程序会直接退出,所以采用消除错误的形式保持循环的运行。

Labview机器视觉(5)-条形码读取_第4张图片

测试得结果如下:

获取roi区域:

Labview机器视觉(5)-条形码读取_第5张图片

实时识别条形码:

Labview机器视觉(5)-条形码读取_第6张图片

在labview中除了条形码还可以读取例如LCD数字,指针值,2D条形码等,

Labview机器视觉(5)-条形码读取_第7张图片

你可能感兴趣的:(Labview机器视觉(5)-条形码读取)