您的位置:首页 > 其它

图像处理-线性滤波-2 图像微分(1、2阶导数和拉普拉斯算子)

2013-12-02 21:19 916 查看
更复杂些的滤波算子一般是先利用高斯滤波来平滑,然后计算其1阶和2阶微分。由于它们滤除高频和低频,因此称为带通滤波器(band-pass filters)。

在介绍具体的带通滤波器前,先介绍必备的图像微分知识。

1 一阶导数

连续函数,其微分可表达为

,或


(1.1)

对于离散情况(图像),其导数必须用差分方差来近似,有



,前向差分
forward differencing (1.2)



,中心差分
central differencing (1.3)

1)前向差分的Matlab实现

2)中心差分的Matlab实现

实例:技术图像x方向导数







原图像 x方向1阶导数

2 图像梯度(Image Gradient)

图像I的梯度定义为


,其幅值为

。出于计算性能考虑,幅值也可用

来近似。

Matlab函数

1)gradient:梯度计算
2)quiver:以箭头形状绘制梯度。注意放大下面最右侧图可看到箭头,由于这里计算横竖两个方向的梯度,因此箭头方向都是水平或垂直的。

实例:仍采用上面的原始图像







梯度幅值 梯度幅值+梯度方向

3 二阶导数

对于一维函数,其二阶导数

,即

。它的差分函数为




(3.1)

3.1 普拉斯算子(laplacian operator)

3.1.2 概念

拉普拉斯算子是n维欧式空间的一个二阶微分算子。它定义为两个梯度向量算子的内积




(3.2)

其在二维空间上的公式为:

(3.3)

对于1维离散情况,其二阶导数变为二阶差分

1)首先,其一阶差分为



2)因此,二阶差分为




3)因此,1维拉普拉斯运算可以通过1维卷积核

实现

对于2维离散情况(图像),拉普拉斯算子是2个维上二阶差分的和(见式3.3),其公式为:




(3.4)

上式对应的卷积核为





常用的拉普拉斯核有:




3.1.2 应用

拉普拉斯算子会突出像素值快速变化的区域,因此常用于边缘检测。

Matlab里有两个函数

1)del2

计算公式:





2)fspecial:图像处理中一般利用Matlab函数fspecial

h = fspecial('laplacian', alpha) returns a 3-by-3 filter approximating the shape of the two-dimensional Laplacian operator.

The parameter alpha controls the shape of the Laplacian and must be in the range 0.0 to 1.0. The default value for alpha is 0.2.


图像处理之一阶微分应用

一:数学背景

首先看一下一维的微分公式Δf = f(x+1) – f(x), 对于一幅二维的数字图像f(x,y)而言,需要完

成XY两个方向上的微分,所以有如下的公式:



分别对X,Y两个方向上求出它们的偏微分,最终得到梯度Delta F.

对于离散的图像来说,一阶微分的数学表达相当于两个相邻像素的差值,根据选择的梯度算

子不同,效果可能有所不同,但是基本原理不会变化。最常见的算子为Roberts算子,其它

常见还有Sobel,Prewitt等算子。以Roberts算子为例的X,Y的梯度计算演示如下图:



二:图像微分应用

图像微分(梯度计算)是图像边缘提取的重要的中间步骤,根据X,Y方向的梯度向量值,可以

得到如下两个重要参数振幅magnitude, 角度theta,计算公式如下:



Theta = tan-1(yGradient/xGradient)

magnitude表示边缘强度信息

theta预言边缘的方向走势。

假如对一幅数字图像,求出magnitude之后与原来每个像素点对应值相加,则图像边缘将被

大大加强,轮廓更加明显,是一个很典型的sharp filter的效果。

三:程序效果

X, Y梯度效果,及magnitude效果






图像微分的Sharp效果:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: