LabVIEW如何图像识别与处理?一文教你视觉系统完整设计思路

Posted 电子发烧友网

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LabVIEW如何图像识别与处理?一文教你视觉系统完整设计思路相关的知识,希望对你有一定的参考价值。

之前我们介绍了MV-EM130M工业相机的实时图像获取方法,本文再结合labview的图像处理函数给出一种简单的图像处理VI。此处的图像处理包括对图像进行采样,找出与采样点相同的图像。为了找出角度放置的采样点,在查找的同时对图像进行了360°的翻转,这样可以找出图像上相同点。

 

由于软件的运行比较复杂,数据的采集又是实时的,要求处理速度比较快,所以要对其进行整体设计,合理安排控件的调用和执行顺序。本程序中采用了一个大循环,保持程序的持续运行。在内部再调用一个顺序结构来控制程序的执行顺序,这样可以确保程序按编程者的思路进行。


图像采集&整个程序流程图

 

读取了图像数据后,还要设置查找的像素。这里通过一个光标选择函数来实现。先用函数IMAQ Setup Learn Pattern 2来设置需要记录的各项,然后再用IMAQ Extract函数进行光标设置。这样就记录了此光标区域的图像数据。


LabVIEW如何图像识别与处理?一文教你视觉系统完整设计思路

设置查找像素

 

这里用一个条件结构来控制是否进入记录像素的程序,也就是当选择了要记录的像素后,才进入此分支程序。在这一分支程序中,又利用了一个顺序结构,这样提高了程序运行的效率。


LabVIEW如何图像识别与处理?一文教你视觉系统完整设计思路

复位记录按钮

 

当设置完以上要查找的像素后,就可以在需要的图片中查找此像素。为了查找有用的像素,在选择了“开始查找”后,要先读取上面标记的像素,再进行查找。此处程序的设计中,也是先运行一个条件结构,再运行顺序结构,按顺序执行程序。


LabVIEW如何图像识别与处理?一文教你视觉系统完整设计思路

读取选择的像素

 

当读取像素后,利用顺序结构在第二帧的图像中继续查找。在这一帧中放置了一个循环,并限制循环次数为4。此时先用一个IMAQ Rotate对图像进行翻转,每次翻转90°。这样就可以在循环4次时翻转一周,对图像上各个角度的像素进行查找。再把图像送到IMAQ Match Pattern 2函数,对其进行查找。通过此函数直接输出找到的像素信息的数组。为了对找到的信息进行处理,又用一个For循环对此数据和簇进行拆分。

 

程序编写完成后,要对系统进行软硬件的联机调试。这里把维视图像的MV-EM130M工业相机用网线和计算机连接,并在计算机上安装驱动程序。具体操作如下:

 

(1)运行本程序,在摄像头下放置好一块电路板,并对其设置好焦距和亮度。单击“开始采集”按钮,对其进行采集,并显示实时采集到的图像。


LabVIEW如何图像识别与处理?一文教你视觉系统完整设计思路

图像采集

 

(2)当采集完一次后,在界面上可以看到清晰的采集结果。此时我们用光标在需要进行识别的地方画出一个区域。此时光标变为绿色,表示用光标选中了要记录的像素。然后单击“学习标记”按钮,此光标消失,表示已经记录(学习)完成。这里选中的是电路板上字母C,让程序学习记录,并找出界面上所有的字母C。


LabVIEW如何图像识别与处理?一文教你视觉系统完整设计思路

设置学习区域

 

(3)记录学习完成后,就可以查找相同像素的点了。单击“开始查找”按钮后,程序开始在此图上查找记录的像素点,并以此像素点为标准,进行比对,找出相同的点。查找的过程中标出了各个点的坐标和编号。这里把标签类型设置为“A”,以Shift Invariant的方式查找,精度设置为700,最大数目设置为40。这样就可找出所有相同的元素。


LabVIEW如何图像识别与处理?一文教你视觉系统完整设计思路

查找结果

 

从图中可以看出,查找过程中,程序找出了所有字母C,并标注了它们的坐标和标签。此处的标签有些不是端正的,主要是由于在对图片进行翻转查找时,按相应的角度找到后直接就标记了。如标签A43(70,471)表示的意义如下:字母A是对程序进行查找前设置的标签类型。4表示此图片翻转到第4次找到的,即第4个角度。3表示是此角度下的第3个点。(70,471)表示当前查找到像素的中心坐标,即此目标的X=70,Y=471,坐标的值是从图像开始的左上角界面算起的。同时可以看到界面的下面显示了图片的属性,如图片大小、位数等。最后还可以看到一个“已查找到总个数”本框,此处显示的是8个目标。这和图上标注的一样,也和实际相符。

 

从以上的例程可以看出,使用可直接兼容labview驱动的工业相机在labview中做图像处理是较方便和高效的。


WINTER


下面提供一个基于labview通用视觉系统的搭建视频教程,帮助大家深入了解视觉图像函数封装、图像识别、数据处理、工业视觉并行处理等实际问题。

 

↓↓labview通用视觉系统软件设计↓↓

LabVIEW如何图像识别与处理?一文教你视觉系统完整设计思路

 

另外,为了给更多初学者入门学习labview视觉,编者还准备了一份labview视觉入门视频教程,让大家快速上手熟悉视觉系统设计、搭建全流程。

 

7天入门labview机器视觉入门课程


LabVIEW如何图像识别与处理?一文教你视觉系统完整设计思路

长按扫描二维码,添加学院助教老师小优微信备注:7天视觉入门课,即可免费领取学习哦!

 

助教老师小优



以上是关于LabVIEW如何图像识别与处理?一文教你视觉系统完整设计思路的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你使用LabVIEW人工智能视觉工具包快速实现图像读取与采集

LabVIEW图像特征与机器视觉概念

关于labview机器视觉的问题

手把手教你使用LabVIEW OpenCV dnn实现物体识别(Object Detection)含源码

labviewvision图像闪烁

LabVIEW灰度图像操作与运算(基础篇—2)