图像求导

例-3】Laplacian滤波

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

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

1 一阶导数

连续函数,其微分可表达为image ,或image                         (1.1)

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

image,前向差分 forward differencing                  (1.2)

image ,中心差分 central differencing                     (1.3)

代码实现:http://www.cnblogs.com/pegasus/archive/2011/05/20/2051780.html

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

?
1
2
I = imread( 'coins.png' ); figure; imshow(I);
Id = mipforwarddiff(I, 'dx' ); figure, imshow(Id);

image image

    原图像                                                   x方向1阶导数

2 图像梯度(Image Gradient)

图像I的梯度定义为image  ,其幅值为image 。出于计算性能考虑,幅值也可用image 来近似。

Matlab函数

1)gradient:梯度计算

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

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

?
1
2
3
4
5
I =  double (imread( 'coins.png' ));
[dx,dy]=gradient(I);
magnitudeI=sqrt(dx.^2+dy.^2);
figure;imagesc(magnitudeI);colormap(gray);%梯度幅值
hold on;quiver(dx,dy);%叠加梯度方向

image image

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

3 二阶导数

对于一维函数,其二阶导数image ,即image 。它的差分函数为

image                  (3.1)

3.1 普拉斯算子(laplacian operator)

3.1.2 概念

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

image      (3.2)

其在二维空间上的公式为:    image                (3.3)

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

1)首先,其一阶差分为image

2)因此,二阶差分为

           image

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

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

image   (3.4)

上式对应的卷积核为

image

常用的拉普拉斯核有:

image

猜你喜欢

转载自blog.csdn.net/liangjiubujiu/article/details/80915983
今日推荐