图像处理之滤波算法

一、学习心得:

在我学习基本滤波算法原理的时候,因为刚接触不是很理解算法具体是怎样实现的,不过在学习了图像形态学之后,发现滤波算法其实很简单。所以在此建议初学者在学习滤波算法之前,可以先学习一下图像形态学,会达到事半功倍的效果。

二、对于滤波功能的理解:

滤波算法,可以理解成一种过滤算法,就像我们筛选产品时,把次品去除掉,只留下合格的产品。而在图像处理中的滤波算法中,处理的对象是图像,除了去除掉图像中不想要的像素点的值(如去除噪声),还可以加强图像中我们需要研究一些内容(如边缘提取)。

三、滤波算法:

这里所讲的算法都是针对图像空间的滤波算法,其中模板,可以理解为图像形态学中的结构元素,是用来选取图像中的那些像素点被用来操作的。空间滤波根据其功能划分为平滑滤波和锐化滤波。平滑滤波:能减弱或者消除图像中高频率分量,但不影响低频率分量,在实际应用中可用来消除噪声。锐化滤波:与平滑滤波相反,能减弱或者消除图像中低频率分量,但不影响高频率分量,可使图像反差增加,边缘明显。实际应用可用于增强被模糊的细节或者目标的边缘。

空间增强滤波技术分类:

1、线性平滑滤波

(1)方框滤波:用一个像素的领域像素值之和作为滤波结果,邻域即模板所覆盖的图像区域,此时模板的所有系数都为1.

(2)邻域平均:是特殊大方框滤波,用一个像素的领域平均像素值作为滤波结果,即a为第一种情。

其中N(x,y)为模板岁覆盖的图像的区域,n为模板的尺寸。

(3)加权平均:此时的模板系数不是1,而是具体的系数。一般认为距离模板中心的像素应对滤波结果有较大的贡献,所以可将接近模板中心的系数取得比模板周边的系数。

(4)高斯平均:是一种特殊的加权平均,只不过模板中的系数由高斯分布来确定的。

2、线性锐化滤波

(1)拉普拉斯算子

拉普拉斯算子是一种各向同性的二阶微分算子,利用微分系数来确定模板系数,然后再与图像进行卷积运算,从而实现锐化滤波。

根据拉普拉斯定义:

两个分别沿X和Y方向的二阶偏导均可借助差分计算:

合并为:

当模板为4-邻域时 当模板为8-邻域时

  以上两种模板的系数之和为0,这是为了使经过模板运算的图像的均值不变。拉普拉斯算子增强了图像中的灰度不连续区域,而减弱了图像中灰度值缓慢变化区域对比度,将这样的结果叠加到原始图像中,就可以得到瑞华后的额图像。

(2)高频提升滤波

图像的锐化效果可以通过叠加图像的微分结果得到,也可以通过减除图像积分结果得到。

设原始图像为f(x,y),平滑后的图像为g(x,y):

非锐化掩模:h(x,y) = f(x,y)-g(x,y)

锐化图像:{ f(x,y)- g(x,y) } + f(x,y)

高频提升滤波:把院士图形乘以一个放大系数A,再减去平滑图像

可转化为:

当A=1时,为非锐化掩模;

当A=2时,为非锐化掩模化。

3、非线性平滑滤波

(1)中值滤波:对模板下对应的像素值进行升序排序,选取中间值作为结果。

(2)与中值滤波类似的,还有最大值、最小值、中点滤波

以上四种滤波也称之为百分比滤波,百分比滤波基于模板的排序来工作,又叫作序统计滤波。

什么是百分比滤波

:瑞灰

时间: 2024-08-30 07:42:37

图像处理之滤波算法的相关文章

数字图像处理之快速中值滤波算法

快速中值滤波算法 中值滤波算法: 在图像处理中,在进行如边缘检测这样的进一步处理之前,通常需要首先进行一定程度的降噪.中值滤波是一种非线性数字滤波器技术,经常用于去除图像或者其它信号中的噪声.这个设计思想就是检查输入信号中的采样并判断它是否代表了信号,使用奇数个采样组成的观察窗实现这项功能.观察窗口中的数值进行排序,位于观察窗中间的中值作为输出.然后,丢弃最早的值,取得新的采样,重复上面的计算过程.中值滤波是图像处理中的一个常用步骤,它对于斑点噪声和椒盐噪声来说尤其有用.保存边缘的特性使它在不希

Win8 Metro(C#)数字图像处理--2.51图像统计滤波算法

原文:Win8 Metro(C#)数字图像处理--2.51图像统计滤波算法 ?? [函数名称] ??图像统计滤波???WriteableBitmap?StatisticalFilter(WriteableBitmap?src,double?T) /// <summary> /// Statistical filtering process. /// </summary> /// <param name="src">The source image.&

基于FPGA的均值滤波算法实现

我们为了实现动态图像的滤波算法,用串口发送图像数据到FPGA开发板,经FPGA进行图像处理算法后,动态显示到VGA显示屏上,前面我们把硬件平台已经搭建完成了,后面我们将利用这个硬件基础平台上来实现基于FPGA的一系列图像处理基础算法. 椒盐噪声(salt & pepper noise)是数字图像的一个常见噪声,所谓椒盐,椒就是黑,盐就是白,椒盐噪声就是在图像上随机出现黑色白色的像素.椒盐噪声是一种因为信号脉冲强度引起的噪声,产生清楚该噪声的算法也比较简单. 均值滤波的方法将数据存储成3x3的矩阵

81.视频图像去噪滤波算法的相关介绍

一.为什么要去噪 图像去噪是数字图像处理中的重要环节和步骤.去噪效果的好坏直接影响到后续的图像处理工作如图像分割.边缘检测等.图像信号在产生.传输过程中都可能会受到噪声的污染,一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生).椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等:所以前端的滤波没做好的话,会给后端的图像处理带来很多的麻烦,其实它最终的反应是图像在显示器上给人的视觉效果,我们要针对不同的应用达到最大优化. 二.怎么去噪 纵观网上

实时高速实现改进型中值滤波算法_爱学术_免费下载

[摘要]在图像采集和处理过程中会引入噪声,必须先对图像进行预处理.本文介绍一种快速中值滤波算法,该算法在硬件平台上实现实时处理功能.综合考虑,选择现场可编程门阵列(FPGA)作为硬件平台,采用硬件描述语言Verilog实现改进型中值滤波算法.经Modelsim仿真结果表明:基于FPGA硬件平台实现改进型中值滤波算法不仅速度快,而且实时处理效果佳,提高了图像处理的效率. [作者] 杨晶  王元庆 转载至爱学术:https://www.ixueshu.com/document/29bcda14996

CUDA加opencv复现导向滤波算法

CUDA是GPU通用计算的一种,其中现在大热的深度学习底层GPU计算差不多都选择的CUDA,在这我们先简单了解下其中的一些概念,为了好理解,我们先用DX11里的Compute shader来和CUDA比较下,这二者都可用于GPU通用计算. 先上一张微软MSDN上的图. Compute shader: 线程块: Dispatch(x,y,z), 索引SV_GroupID 线程组: [numthreads(SIZE_X, SIZE_Y, 1)], 索引SV_GroupThreadID. 组内索引:

滑动平均滤波算法(递推平均滤波法)

//滑动平均滤波算法(递推平均滤波法) //ADNum为获得的AD数 //GN为数组value_buf[]的元素个数.该函数主要被调用,利用参数的数组传值 const int GN = 12; int filterPtr = 0; bool isFirst = true; public float gSum = 0; float[] gbuf  = new float[GN]; float GlideFilterAD(float ADNum) { if (isFirst) { isFirst =

经典滤波算法总结

第1种方法限幅滤波法(又称程序判断滤波法) A方法 根据经验判断,确定两次采样允许的最大偏差值(设为A) 每次检测到新值时判断: 如果本次值与上次值之差<=A,则本次值有效 如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值 B优点 能有效克服因偶然因素引起的脉冲干扰 C缺点 无法抑制那种周期性的干扰 平滑度差 /* A 值可根据实际情况调整 value 为有效值,new_value 为当前采样值 滤波程序返回有效的实际值 */ #define A 10 char val

基于Vivado HLS在zedboard中的Sobel滤波算法实现

 基于Vivado HLS在zedboard中的Sobel滤波算法实现 平台:zedboard  + Webcam 工具:g++4.6  + VIVADO HLS  + XILINX EDK + XILINX SDK 系统:ubuntu12.04 总体设计思路 sobel 算法理论基础       索贝尔算子(Sobel operator)主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度之近似值.在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量. 该