Labview中使用均值滤波器以及高斯滤波器

[复制链接]
查看131 | 回复0 | 2025-1-2 08:17:58 | 显示全部楼层 |阅读模式
>
均值滤波器
在《机器视觉算法应用》第二版一书中,阅读到3.2.3.2 均值滤波器,均值滤波器的公式是:
n是横坐标的半径,m是纵坐标的半径,如果是3x3,那就是提取中心像素周围8个像素共9个像素求取平均值,以此来减少干扰。
IMAQ GetKernel
在Labview中,可以使用IMAQ GetKernel.vi创建需要进行图像处理的核:
输入端:
Kernel Family:可以选择Gradient(渐变 梯度),Laplacian(拉普拉斯),Smoothing(平滑),Gaussian(高斯)四种滤波器;
Kernal Size:可以选择滤波器的大小,可以选择3,5,7,选择比7大的会报错;
Kernel Number:选择Kernel的模式,分别如下:
以下是Gradient可以选择的模式:
以下是Laplacian可以选择的模式:
由下图可以看出,Laplacian算子是以中心为正,周围为负,中心数是周围绝对值之和。

参考文章链接:
https://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm
以下是Smoothing可以选择的模式:
以下是Gaussian可以选择的模式,Gaussian只有一种模式可以选择,所以Kernel Number为0,不然函数会报错:
高斯是以高斯函数进行计算,是一个正态分布的模式:

参考文章链接:
https://homepages.inf.ed.ac.uk/rbf/HIPR2/gsmooth.htm
IMAQ Convolute

过IMAQ Convolute.vi利用Kernel对图像进行处理:
输入端:Divider:灰度值的归一化,是Kernel所有像素的灰度值之和除以Divider,如果Divider为0,则不进行该步的运行。
Kernel:是进行卷积的2D数组,一般是3x3,5x5,7x7;
均值滤波器和高斯滤波器的使用
首先需要建立一张间距为三个像素,第一个像素和第二个像素灰度值有大的差异,第二个像素和第三个像素灰度值一样:
之后使用一个3x3的均值滤波器:
滤波完成之后的效果如下:
会发现所有分割线都被平滑掉了。
如果用的是高斯滤波:
则会凸显出中间的效果。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则