乐趣区

关于机器学习:手把手教你使用LabVIEW人工智能视觉工具包快速实现传统Opencv算子的调用含源码

前言

明天咱们一起来应用 LabVIEW AI 视觉工具包疾速实现图像的滤波与加强;图像灰度解决;阈值解决与设定;二值化解决;边缘提取与特征提取等基本操作。工具包的装置与下载办法可见之前的两篇博客。

一、图像滤波与加强

有时候咱们想要解决的图像中乐音太多,影响到咱们的辨认判断,咱们就须要对图像进行含糊解决,使图像变得平滑。而 LabVIEW AI 视觉工具包提供给咱们 filter 2d 算子能够对图像进行 2D 卷积,咱们能够应用自定义的卷积核来对图像进行卷积操作。该算子输入输出如下所示:

图像内核是一个小矩阵,在 Photoshop 或 Gimp 中找到的成果都能够实现,例如含糊,锐化,轮廓或浮雕。它们还用于机器学习中的“特征提取”,这是一种用于确定图像最重要局部的技术。在这种状况下,该过程更广泛地称为“卷积”,调用 filter 2d 算子配合不同卷积核实现图像滤波和加强的程序如下:

在前面板抉择不同的卷积核能够实现不同的成果:

不同卷积核成果如下:
1. 含糊(blur)

2. 索贝尔(sobel),仅显示特定方向上相邻像素值的差别,从上往下,从暗处到亮处加强显示

3. 浮雕(emboss),通过强调像素的差在给定方向的 Givens 深度的错觉,从左上往右下,从暗处到亮处加强显示:

4. 纲要(outline),一个轮廓内核(也称为“边缘”的内核)用于突出显示的像素值大的差别,轮廓的加强显示

5. 锐化(sharpen),该锐化内核强调在相邻的像素值的差别。这使图像看起来更活泼

6. 拉普拉斯算子(laplacian operator),能够用于边缘检测,对于检测图像中的含糊也十分有用。

7. 分身(identity)就是原图

二、图像灰度解决

之前咱们说过,LabVIEW 默认应用 BGR 读取图像,所以咱们将图片转化为灰度图应用 cvtColor 算子,参数抉择:BGR2GRAY,如下图所示:

程序后果如下:

咱们能够看到程序中应用了 calHist 用以绘制图片通道直方图, 并以波形图显示进去;calHist 函数参数具体如下:

波形图显示控件:前面板右键 –>Graph–>Waveform Graph;

间接读取原图显示程序如下:

程序后果如下:

三、阈值解决与设定

如下程序通过设定阈值,实现将其余色彩全副过滤,只保留红蓝绿三种色彩:

程序后果如下:

threshold 算子参数剖析:

四、二值化解决

将图片先转化为灰度图,再进行二值化,程序如下:

设置阈值和最大值,二值化之后的程序后果如下:

五、边缘提取

如下程序为应用 findContours 实现边缘提取:

程序实现成果如下:

六、角点检测

1. 应用 cornerMinEigenVal 算子角点检测程序如下:

程序后果如下:

2. 应用 cornerHarris 算子角点检测程序如下:

程序后果如下:

七、源码下载链接:https://pan.baidu.com/s/1Ua00…

提取码:8888

总结

具体源码具体请见下载链接。
更多对于 LabVIEW 与人工智能技术,可增加技术交换群进一步探讨。
qq 群号:705637299,请备注暗号:LabVIEW 机器学习

退出移动版