LabVIEW 图像处理功能

简介: LabVIEW 图像处理功能

图像分析

影像分析结合了基于影像像素的灰度强度计算统计数据和测量的技术。您可以使用影像分析功能来确定影像质量是否足以完成检测任务。您还可以分析图像以了解其内容,并确定使用哪种类型的检查工具来处理您的应用程序。影像分析功能还提供可用于执行基本检测任务(如是否存在验证)的测量值。


可用于影像分析的常用工具包括直方图和线轮廓测量。


直方图


直方图对每个灰度级别的像素总数进行计数和绘制图形。使用直方图确定图像中的整体强度是否适合您的检测任务。根据直方图数据,您可以调整图像采集条件以获取更高质量的图像。


您可以通过查看直方图来检测传感器是否曝光不足或饱和。曝光不足的图像包含大量灰度值较低的像素,如图1a所示。低灰度值在直方图的下端显示为峰值,如图1b所示。


过度曝光或饱和的图像包含大量具有非常高灰度值的像素,如图2a所示。这种情况由直方图上端的峰值表示,如图2b所示。

82d5e6eedbce9d23742b86fd1f17f388.png





图1.曝光不足的图像和直方图



2。曝光过度的图像和直方图


缺乏对比度:将物体与背景分开的策略依赖于两者强度的差异,例如明亮的粒子和较暗的背景。对图3b中直方图的分析表明,图3a具有两个或多个分离良好的强度群体。调整成像设置,直到采集图像的直方图具有应用所需的对比度。


42c1b03ac16404454ab626667988757a.png



图3.灰度图像和直方图



生产线轮廓


线剖面图绘制沿线的强度变化。它返回沿线的像素的灰度值并绘制图形。线剖面有助于检查组件之间的边界、量化强度变化的大小以及检测是否存在重复模式。


图4显示了具有均匀强度的明亮物体如何在剖面中显示为平台。物体与其周围背景之间的对比度越高,高原的坡度就越陡峭。另一方面,嘈杂像素会产生一系列狭窄的峰值。


f4f9867bda2572d32798e273cac6de63.png


图4.线和相应的线轮廓


返回页首

图像处理

使用从分析图像中收集的信息,您可能希望提高图像的质量以进行检查。您可以通过消除杂色、突出显示您感兴趣的要素以及将感兴趣的对象与背景分离来改善图像。可用于改善图像的工具包括:


查找表

空间过滤器

灰度形态

频域

查找表


查找表 (LUT) 转换将源图像中的灰度值转换为转换后图像中的其他灰度值。使用 LUT 变换通过修改对比度较差的区域的动态强度来提高图像的对比度和亮度。


空间过滤器


空间过滤器通过消除噪点以及平滑、锐化和变换图像来提高图像质量。视觉开发模块带有许多已经定义的过滤器,例如:


高斯滤波器(用于平滑图像)

拉普拉斯滤镜(用于突出显示图像细节)

中阶和N阶滤波器(用于消除噪声)

Prewitt、Roberts 和 Sobel 滤波器(用于边缘检测)

自定义过滤器

您还可以通过指定自己的过滤器系数来定义自己的自定义过滤器。


灰度形态


形态变换提取并改变图像中粒子的结构。可以使用灰度形态函数执行以下操作:


过滤或平滑图像的像素强度

通过以牺牲暗区为代价来扩大明亮区域来改变区域的形状,反之亦然

删除或增强孤立的功能,例如深色背景上的明亮像素

平滑逐渐变化的图案并增加边界区域的对比度

频域处理 大多数影像处理


在空间域中执行。但是,在像往常一样分析和处理图像之前,您可能希望在频域中处理图像以删除不需要的频率信息。使用快速傅里叶变换 (FFT) 将图像转换为其频域。


返回页首

斑点分析

blob(二进制大对象)是具有相同逻辑状态的接触像素区域。图像中属于 blob 的所有像素都处于前景状态。所有其他像素都处于背景状态。在二进制图像中,背景中的像素具有值=0,而每个非零像素都是二进制对象的一部分。


可以使用 Blob 分析来检测映像中的 Blob,并对这些 Blob 进行选定的测量。


使用 Blob 分析查找统计信息,例如 Blob 的大小或 Blob 区域的数量、位置和状态。利用这些信息,您可以执行许多机器视觉检测任务,例如检测硅晶圆上的缺陷、检测电子板上的焊接缺陷,或 Web 检测应用程序,例如检测木板上的结构缺陷或检测塑料板上的裂缝。当零件形状或方向存在显著差异时,您还可以在运动控制应用程序中定位对象。


在对象的形状或方向存在显著差异的应用程序中,blob 分析是搜索对象的一种强大而灵活的方法。您可以使用通过 blob 分析获得的测量值的组合来定义唯一定义对象形状的要素集。


阈值化


阈值使您能够选择灰度和彩色图像中的像素值范围,以将所考虑的对象与背景分开。阈值将图像转换为像素值为 0 或 1 的二进制图像。此过程的工作原理是将值在一定范围内的所有像素设置为 1,称为阈值间隔,并将图像中的所有其他像素值设置为 0。图5a显示了灰度图像,图5b显示了阈值处理后的相同图像。

c230729800cd94af84f7425e98ad7431.png



图5.阈值化前后的图像


二元形态


二元形态学操作提取并改变二元图像中粒子的结构。您可以在检测应用程序期间使用这些操作,以便在进行粒子测量之前改进二进制图像中的信息,例如面积、周长和方向。您还可以使用这些变换来观察区域的几何形状,并提取最简单的形式以进行建模和识别。


初级二元形态


主要形态学操作对二值图像进行工作,以根据其邻域处理每个像素。每个像素设置为 1 或 0,具体取决于其邻域信息和所使用的操作。这些操作始终会更改图像中粒子的整体大小和形状。


使用主要形态操作来扩展或缩小粒子、平滑对象的边界、查找粒子的外部和内部边界以及定位像素的特定配置。


高级二元形态


使用高级形态学操作填充颗粒中的孔洞、去除接触图像边界的粒子、去除不需要的小颗粒和大颗粒、分离接触粒子、查找粒子的凸包等。


颗粒测量


创建二进制图像并对其进行改进后,您最多可以进行 50 次粒子测量。通过这些测量,您可以确定斑点的位置及其形状特征。您可以使用这些功能根据一个或多个测量值对粒子进行分类或过滤。例如,您可以过滤掉面积小于 x 像素的粒子。


返回页首

机器视觉

最常见的机器视觉检测任务是检测图像中是否存在零件,并测量零件的尺寸以查看它们是否符合规格。测量基于图像中表示的物体的特征特征。传统上,图像处理算法将图像中包含的信息类型分类为边缘、表面和纹理或图案。不同类型的机器视觉算法利用并提取一种或多种类型的信息。


边缘检测


边缘检测器和衍生技术,如前耙、同心耙和辐条,可以高精度地定位物体的边缘。边是图像中相邻像素之间灰度值的重大变化。您可以使用边的位置进行测量,例如零件的宽度。您可以使用多个边缘位置来计算相交点、投影以及圆或椭圆拟合等测量值。


边缘检测是许多机器视觉应用的有效工具。边缘检测为您的应用程序提供有关对象边界位置和不连续性存在的信息。在以下三个应用领域中使用边缘检测 - 测量、检测和对齐。


测量


使用测量进行关键的尺寸测量,如长度、距离、直径、角度和计数,以确定被检测产品是否正确制造。组件或零件被分类或拒绝,具体取决于测量参数是在用户定义的公差限值之内还是之外。


图6显示了测量应用如何使用边缘检测来测量火花塞中的间隙长度。


2ef8eea9d3b719773d140888935a33fb.png


图6.使用边缘检测测量火花塞电极之间的间隙


检波


检测应用的目的是使用线轮廓和边缘检测来确定零件是否存在。沿线轮廓的边由背景和前景之间的对比度级别以及过渡的斜率定义。使用此技术,您可以计算沿线轮廓的边数,并将结果与预期的边数进行比较。此方法为其他图像处理方法(如图像相关和模式匹配)提供了一种数值较少的替代方法。


图7显示了一个简单的检测应用,其中沿搜索线轮廓检测到的边缘数量决定了连接器是否已正确组装。检测八个边缘表明有四根电线,连接器通过检查,如图7a所示。任何其他边缘计数都表示连接器未正确组装,如图7b所示。

946b6dbe03e62a415e72e6c039c4c687.png



图7.使用边缘检测检测零件是否存在


您还可以使用边缘检测来检测结构缺陷(如裂纹)或外观缺陷(如零件上的划痕)。如果零件的强度均匀,这些缺陷表现为强度曲线的急剧变化。边缘检测可识别这些更改。


对准


对齐方式确定零件的位置和方向。在许多机器视觉应用中,要检查的对象可能位于图像中的不同位置。边缘检测在执行检测之前查找对象在图像中的位置,以便您只能检测感兴趣的区域。零件的位置和方向也可用于向定位设备(例如载物台)提供反馈信息。


图 8 显示了一个检测映像中磁盘左边缘的应用程序。可以使用边缘的位置来确定磁盘的方向。然后,您可以使用方向信息正确定位检查区域。


076067ccc6099347c0023d8c8664d713.png


图8.使用边缘检测定位检测区域


模式匹配

模式匹配可定位与预定模板匹配的灰度图像区域。图案匹配可查找模板匹配项,而不考虑光线不足、模糊、噪点、模板偏移或模板旋转。


使用模式匹配在图像中快速定位已知的参考模式或基准点。通过模式匹配,您可以创建表示要搜索的对象的模型或模板。然后,您的机器视觉应用程序在每个采集的图像中搜索模型,计算每个匹配项的分数。分数与模型与找到的模式的匹配程度有关。


模式匹配算法是图像处理中一些最重要的功能,因为它们用于不同的应用。您可以在以下三种常规应用中使用图案匹配 - 对齐、测量和检查。


尺寸测量


您可以使用视觉开发模块中的尺寸测量或测量工具来获得可量化的关键距离测量值。典型测量包括:


点之间的距离

由三个或四个点表示的两条线之间的角度

最佳线条、圆形或椭圆形贴合;

几何形状的区域,如圆形、椭圆形和多边形

颜色检测


颜色可以通过提高对比度或将对象与背景分离来简化单色视觉检查问题。颜色检测涉及三个方面:


配色

颜色位置

颜色图案匹配

配色


颜色匹配量化图像区域中存在哪些颜色以及每种颜色的数量,并使用此信息检查另一个图像是否以相同的比例包含相同的颜色。


使用颜色匹配比较图像的颜色内容或图像中的区域以引用颜色信息。通过颜色匹配,您可以创建图像或在图像中选择包含要用作参考的颜色信息的区域。图像中的颜色信息可以由一种或多种颜色组成。然后,机器视觉软件学习图像中的3D颜色信息,并将其表示为1D色谱。机器视觉应用程序将整个图像或图像中区域的颜色信息与学习的色谱进行比较,计算每个区域的分数。分数与区域中的颜色信息与色谱所表示的信息的匹配程度有关。


图 9 显示了一个磁贴识别应用程序的示例。图 9a 显示了需要标识的磁贴。图 9b 显示了一组参考图块及其在颜色匹配期间获得的颜色匹配分数。


f0a36d975829be9c88f0f803f6b30176.png


图9.使用颜色匹配识别磁贴


颜色位置


使用颜色位置可快速定位图像中的已知颜色区域。使用颜色位置,可以创建表示要搜索的颜色的模型或模板。然后,您的机器视觉应用程序在每个采集的图像中搜索模型,并计算每个匹配项的分数。分数指示模型中的颜色信息与找到区域中的颜色信息的匹配程度。


颜色定位算法提供了一种快速定位图像中具有特定颜色的区域的方法。在应用程序时使用颜色位置:


需要图像中的位置和区域数及其特定颜色信息

依赖于区域中的累积颜色信息,而不是颜色在区域中的排列方式

不需要区域的方向

不需要具有亚像素精度的位置

在检测、识别和分拣应用中使用颜色定位。

图 10 显示了一个糖果分类应用程序。使用图像中不同糖果的颜色模板,颜色位置可以快速定位不同糖果的位置。


709b5455a63785fd257dec43c6299021.png


图 10.使用颜色位置对糖果进行排序


颜色图案匹配


使用颜色模式匹配在彩色图像中快速定位已知的参考模式或基准点。使用颜色模式匹配,可以创建表示要搜索的对象的模型或模板。然后,您的机器视觉应用程序在每个采集的图像中搜索模型,计算每个匹配项的分数。分数表示模型与找到的颜色图案的匹配程度。使用颜色模式匹配来查找由图案中的颜色和空间信息完全描述的参考图案。


在以下情况下使用颜色模式匹配:


要定位的对象包含与背景非常不同的颜色信息,并且您希望非常精确地查找图像中对象的位置。对于这些应用程序,颜色模式匹配提供了比颜色位置更准确的解决方案,因为它在搜索阶段使用形状信息。


图 11 显示了颜色位置和颜色模式匹配之间的差异。图11a是算法在检测图像中搜索的电阻的模板图像。虽然颜色位置(如图11b所示)可以找到电阻,但匹配不是很准确,因为它们仅限于颜色信息。颜色模式匹配首先使用颜色匹配来定位对象,然后使用图案匹配来优化位置,从而提供更准确的结果,如图 11c 所示。


811fc5f52e877d7ec77fe8eaba369371.png


图 11.使用颜色模式匹配精确定位电阻器

相关文章
|
4月前
|
计算机视觉 Python
图像处理工具设计
该文章提供了一个Python图像处理工具的设计,包括提高图像对比度、提取边缘、视频帧拆分、图像滚动测试和像素连接等功能的实现代码。
|
7月前
|
算法 机器人 人机交互
LabVIEW机械臂控制与图像处理示教平台
LabVIEW机械臂控制与图像处理示教平台
77 3
|
7月前
|
存储 传感器 文字识别
LabVIEW开发基于图像处理的车牌检测系统
LabVIEW开发基于图像处理的车牌检测系统
57 3
|
7月前
|
Python
LabVIEW和Python开发微细车削控制系统
LabVIEW和Python开发微细车削控制系统
61 1
LabVIEW和Python开发微细车削控制系统
|
7月前
|
iOS开发 MacOS
LabVIEW设计程序框图
LabVIEW设计程序框图
69 1
LabVIEW设计程序框图
|
5月前
|
机器学习/深度学习 传感器 监控
LabVIEW图像处理技术的类型和作用有哪些?
LabVIEW图像处理技术的类型和作用有哪些?
54 0
|
7月前
|
数据采集 存储 异构计算
LabVIEW编程LabVIEW开发高级数据采集技术 模拟波形的生成 例程与相关资料
LabVIEW编程LabVIEW开发高级数据采集技术 模拟波形的生成 例程与相关资料
60 9
|
7月前
|
传感器 算法 计算机视觉
LabVIEW开发图像采集和图像处理程序
LabVIEW开发图像采集和图像处理程序
85 2
|
6月前
|
计算机视觉 索引 Python
openCV 3计算机视觉 Python语言实现 笔记__第二章 处理文件、摄像头和图形用户界面
openCV 3计算机视觉 Python语言实现 笔记__第二章 处理文件、摄像头和图形用户界面
|
7月前
|
传感器 数据采集 人工智能
LabVIEW开发微控制器控制的并行机器人的实时视觉图像处理
LabVIEW开发微控制器控制的并行机器人的实时视觉图像处理
66 1