APP下载

基于LabVIEW平台的光纤对中实时检测

2019-03-12高浩然童伟梁馨月毛远韬张晓青

现代计算机 2019年5期
关键词:算子图像处理灰度

高浩然,童伟,梁馨月,毛远韬,张晓青

(北京信息科技大学光电测试技术北京市重点实验室,北京 100101)

0 引言

当前光纤对接行业还停留于通过人眼观测两根光纤的差值进行调整对接的,不仅费时费力,而且准确度也不够高。针对于这个问题,打算设计一套自动化的系统可实时的观测两根光纤的参数,并实现自动对接工作。

目前市面上光纤熔接机[11]可直接实现两根光纤的对接,光纤熔接机其功能就是利用精密机械传动系统将两根光纤在空间上准直,然后通过高温电弧使石英融化,把两根光纤对接起来。这种方法对接的准确性较高,但是考虑到实际的生产需求,这种方式实现光纤对接的生产效率较低,不能满足客户的需求,因此需要一种自动化的装置,可实时并且快速地实现光纤对接工作。

考虑到系统可实时的监控两根光纤的参数变化,提出了两种方案,第一种方案是利用VS2012+OpenCV进行图像处理,并在MFC[9]界面上进行显示处理后的图像及参数,第二种方案是图像处理部分选择在VS+OpenCV进行图像处理,生成DLL文件,在LabVIEW软件中进行图像的显示。选择了第二种方案,因为第一种方案在VC中实现实时的图像处理较为困难、复杂且周期性较长。而第二种方案不存在多线程的问题,大幅降低了系统难度和开发周期,同时提高了该系统的实时性。可极大地减轻开发人员的精力,使开发人员专注于自己项目的开发。

1 系统框架结构

基于LabVIEW编程平台的光纤对中系统的框架结构如图1所示,视觉检测系统一般分为硬件结构和软件结构,此系统的硬件结构包括光源、相机。软件结构包括图像采集、图像处理、图像显示、数据显示。利用LabVIEW中的生产者-消费者结构,在生产者结构中实现系统输入图像和图像读取的数据传输,在消费者结构中,调用OpenCV图像处理算子,对输入图像进行处理,获得需要的几何参数。

图1 光纤对中系统框架结构图

在LabVIEW中可采用生产者-消费者结构来实现多线程同时处理。生产者主要负责数据的生产,即将系统中图像信息存入队列中,消费者主要负责数据处理,在本系统中不断地从队列中读取图像信息。这种循环结构可实现多个程序之间能够实时通过队列实现数据传输,提高了程序运行的效率和设计的灵活性。

OpenCV提供的视觉处理算法非常丰富,并且它部分以C语言编写,加上其开源的特性,处理得当,不需要添加新的外部支持也可以完整的编译链接生成执行程序,所以在本次系统中我们采用OpenCV库进行的图像处理部分功能的实现。

2 图像采集[7]

在LabVIEW平台上利用生产者-消费者关系[8],调用相机获得图像[1],将图像灰度化,调用函数将X和Y的分辨率从图片中解析出来,将X和Y的分辨率作为参数输入OpenCV图像处理算子(即DLL文件),在DLL文件中实现对灰度图像的一系列处理,最后输出处理后的图像及需要的几何参数。并在LabVIEW的前面板上显示。

此系统实现的结构是实时地处理图像并显示结果,首先,需要利用LabVIEW采集相机的数据,如图2所示,通过调用获取相机的函数获取相机,并将获取的数据存储在缓冲区。最后关闭获取相机的函数。

图2 相机获取图像流程图

在获取图像后,下一步的工作是进行图像处理,由于在OpenCV中进行图像处理大多基于灰度图像(单通道、易处理),所以在此之前将图像进行灰度化处理,并通过IMAQGetImageSize函数将X和Y的分辨率解析出来。将X和Y的分辨率以参数的形式输入到动态链接库中,在动态链接库中实现对图像的处理。这样就可以充分利用VC++的编程能力以及LabVIEW的图像化优势和LabVIEW中实现多线程的便捷性。

3 图像处理[4]

在进行图像处理前,要给LabVIEW提供一个动态链接库(DLL文件)。本系统采用VS2012编程软件,首先将OpenCV与VS2012配置好,建立一个动态链接库,在此对采集到的图像进行处理,此部分是整个系统的难点与重点。

图像处理流程如图3所示:

图3 图像处理流程图

对图像进行灰度化的处理后,此时应将该DLL文件导入LabVIEW软件平台下,在调用库函数时,要进行相应的参数配置,该参数配置应符合在VC下定义的变量格式。

(1)图像去噪

在图像获取过程中,图像会受到外界和本身的干扰,这给后续的图像分析处理带来困难。由于噪声源众多,噪声种类复杂,所以平滑的方法也很多,平滑在空间域进行也可以在频率域进行。空间域常用的方法有:均值滤波、中值滤波和高斯滤波。如图5所示,原图在三种滤波方式下的显示图。

图4 三种滤波结果对比

采用邻域平均法的均值滤波器能有效地抑制噪声,但是在求均值的计算过程中,图像的边缘点也进行了均值处理,这样就是的图像清晰度降低,画面变得模糊。中值滤波是一种非线性滤波技术,中值滤波器的优点是运算简单而且速度较好,中值滤波可以克服一定条件下均值滤波带来的图像细节模糊,但是对于一些细节多,特别是点、线和尖顶多的图像不适合采用中值滤波。高斯滤波是一种线性的平滑滤波,适用于消除高斯噪声。高斯滤波的具体操作是:用一个模板扫描图像中的每一个像素,用模板确定的邻域内的像素的加权平均灰度值去替代模板中心像素点的值。比较以上的各种滤波效果,对于本次课题来说高斯滤波优于其他两种滤波方式。

(2)边缘检测[10]

在边缘检测中我们使用Canny算子,Canny算子提供两个阈值,这两个阈值可在进行阈值化操作时,更加方便灵活。当阈值2取值为200,阈值1分别为50和20时,如图5所示。

图5 Canny算子阈值1分别为50和20

当阈值2取值为250,阈值1分别为20和10时,如图6所示。

图6 Canny算子阈值1分别为20和10

当阈值1分别为20时,阈值2分别为250和200时,如图7所示。

由以上分析可得,当使用Canny算子时,阈值1的作用是滤除掉小于阈值1的像素,阈值2的作用是滤掉阈值2以上的像素。故得到的结果是介于阈值1和阈值2之间的图像。选择合适的阈值对于本次图像处理具有非常重要的意义。

图7 Canny算子阈值2分别为250和200

(3)形态学操作[6]

在光纤数字化过程中,不可避免地会给光纤图像带来各种伪信息。例如,可能会造成原本连接的条线出现断裂,利用形态学的知识,主要是为了补偿数字化过程中因为某种原因引起的有用信息的丢失。形态学操作的高级形态主要有开运算和闭运算,其都是建立在腐蚀和膨胀这两个基本操作之上的,开运算就是先腐蚀后膨胀的过程,闭运算是先膨胀后腐蚀的过程。开运算可以用来消除小物体,在纤细点处分离物体,平滑较大物体的边界同时并不明显改变其面积。闭运算可以排除小型空洞。

此文在形态学这个处理中为例实现将光纤中的孔洞填充的目的,因此采用闭运算的操作。

(4)查找矩形

光纤在经过闭运算后,在图像中会以细长条的形式呈现,在此文中将光纤提取的办法是用旋转矩形查找图像中的矩形区域,并画出矩形。

(5)显示光纤中心线

在画出光纤的矩形框之后,此时应当寻找光纤的中心线,由于此文采用旋转矩形框选矩形,就存在光纤顶点位置的不确定,顶点位置不确定就没有办法找到光纤的中心线,在这里采取的方法是利用旋转矩形的角度,从而限定了顶点位置,这样就可以找到光纤的中心线。

(6)计算几何参数

利用两根光纤中心线的参数,根据斜率与角度的关系,即可计算出光纤的几何参数。

4 参数输出及显示

此系统实现的功能有以下4个方面:

(1)检测左侧光纤与水平面的夹角

(2)检测右侧光纤与水平面的夹角

(3)计算两根光纤的角度差

(4)检测出两根光纤的水平距离

在进行图像处理时,给定图像处理函数提供对应的实参,图像处理函数一次只能返回一个结果,所以在定义形参时,考虑到这一点,在这里定义了两个形参变量。

_declspec(dllexport)int PreviousImage1(int rows,int cols,unsigned__int8*data,int flag,int flag1)。

(1)当flag=0:代表计算光纤的角度问题。

将flag1置为0,则result值为左侧光纤与水平面的夹角。

将flag1置为1,则result值为右侧光纤与水平面的夹角。

flag1取其他值时,result值为两个光纤的差值。

(2)当flag取任意其他值时,代表两根光纤之间的距离。

当分别满足flag和flag1条件时,就可返回不同值。如图8为图像处理结果及参数显示。该图像表示右侧光纤与水平面的夹角是4度,即光纤顺时针旋转4度即可使光纤位于水平状态。

图8 图像处理结果及参数显示

图9为在VS2012中进行的图像处理[9],与在Lab⁃VIEW中图像处理相比,VS2012中的数据更为准确,但是界面的友好性不够,LabVIEW与VS2012相比,右侧光纤角度误差在一个像素以内,此误差可以接受,而且此次的光纤对中工作要求实时检测,在LabVIEW中更容易实现此项功能。故选择了LabVIEW软件实现此次的光纤对中工作。

图9 在VS2012中实现光纤对中

5 结语

本文以LabVIEW软件为平台,通过调用VC++与OpenCV的动态链接库,实现了图像的采集、处理以及结果的显示,它将机器视觉技术应用在光纤对中的检测中,能够快速准确地提取需要的几何参数,对于提高工作效率,实现自动化光纤对中具有很强的优势。

猜你喜欢

算子图像处理灰度
采用改进导重法的拓扑结构灰度单元过滤技术
海战场侦察图像处理技术图谱及应用展望
人工智能辅助冠状动脉CTA图像处理和诊断的研究进展
有界线性算子及其函数的(R)性质
天津港智慧工作平台灰度发布系统和流程设计
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
Domestication or Foreignization:A Cultural Choice
Arduino小车巡线程序的灰度阈值优化方案
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的废有色金属自动分选算法研究