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

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

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

1 一阶导数

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

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

,前向差分 forward differencing                  (1.2)

 ,中心差分 central differencing                     (1.3)

1)前向差分的Matlab实现


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

function dimg = mipforwarddiff(img,direction)

% MIPFORWARDDIFF     Finite difference calculations

%

%   DIMG = MIPFORWARDDIFF(IMG,DIRECTION)

%

%  Calculates the forward-difference for a given direction

%  IMG       : input image

%  DIRECTION : ‘dx‘ or ‘dy‘

%  DIMG      : resultant image

%

%   See also MIPCENTRALDIFF MIPBACKWARDDIFF MIPSECONDDERIV

%   MIPSECONDPARTIALDERIV

%   Omer Demirkaya, Musa Asyali, Prasana Shaoo, ... 9/1/06

%   Medical Image Processing Toolbox

imgPad = padarray(img,[1 1],‘symmetric‘,‘both‘);%将原图像的边界扩展

[row,col] = size(imgPad);

dimg = zeros(row,col);

switch (direction)  

case ‘dx‘,

   dimg(:,1:col-1) = imgPad(:,2:col)-imgPad(:,1:col-1);%x方向差分计算,

case ‘dy‘,

   dimg(1:row-1,:) = imgPad(2:row,:)-imgPad(1:row-1,:);

otherwise, disp(‘Direction is unknown‘);

end;

dimg = dimg(2:end-1,2:end-1);

2)中心差分的Matlab实现


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

function dimg = mipcentraldiff(img,direction)

% MIPCENTRALDIFF     Finite difference calculations

%

%   DIMG = MIPCENTRALDIFF(IMG,DIRECTION)

%

%  Calculates the central-difference for a given direction

%  IMG       : input image

%  DIRECTION : ‘dx‘ or ‘dy‘

%  DIMG      : resultant image

%

%   See also MIPFORWARDDIFF MIPBACKWARDDIFF MIPSECONDDERIV

%   MIPSECONDPARTIALDERIV

%   Omer Demirkaya, Musa Asyali, Prasana Shaoo, ... 9/1/06

%   Medical Image Processing Toolbox

img = padarray(img,[1 1],‘symmetric‘,‘both‘);

[row,col] = size(img);

dimg = zeros(row,col);

switch (direction)

    case ‘dx‘,

        dimg(:,2:col-1) = (img(:,3:col)-img(:,1:col-2))/2;

    case ‘dy‘,

        dimg(2:row-1,:) = (img(3:row,:)-img(1:row-2,:))/2;

    otherwise,

        disp(‘Direction is unknown‘);

end

dimg = dimg(2:end-1,2:end-1);


1

 

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


1

2

I = imread(‘coins.png‘); figure; imshow(I);

Id = mipforwarddiff(I,‘dx‘); figure, imshow(Id);

 

原图像                                                   x方向1阶导数

2 图像梯度(Image Gradient)

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

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);%叠加梯度方向

 

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

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.

3.1.3 资源

http://fourier.eng.hmc.edu/e161/lectures/gradient/node8.html (非常清晰的Laplacian Operator介绍,本文的主要参考)

http://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm

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

时间: 2024-10-12 17:46:02

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

iOS 图像处理-剪裁图像

解决问题:按照某一长宽比例,剪裁图片的上部和下部,保留中间的内容.当然也可以自定义需要剪裁留下的区域 前提:需要添加Framework:CoreGraphics.framework 代码: - (UIImage*) crop:(UIImage*)theImage{ // Get size of current image CGSize size = [theImage size]; // Create rectangle that represents a cropped image CGFlo

图像处理复习1——图像基础和空域增强

图像处理复习 CH2 图像基础 2.1 噪声 噪声定义为妨碍人们感觉器官对所接收的信源信息理解的因素,噪声有以下几个常见分类: (1)按统计理论分类 平稳噪声:统计特性不随时间变化 非平稳噪声:统计特性随时间变化 (2)按频谱形状分类 白噪声:频谱均匀分布 三角噪声:频谱与频率平方成正比 (3)按幅度分布形状分类:高斯噪声.雷利噪声 (4)按噪声与信号关系分类:加性噪声.乘性噪声 处理噪声时往往假设噪声是加性噪声并且噪声和信号是相互统计独立的 2.2 成像基础模型 假设投影成像有以下模型: 则由

图像处理大型科普——图像直方图

图像处理大型科普--图像直方图 偶尔跟在浙大读研的湖大一姐谈起轮廓识别,她正在做一个能把衣服分类成不同款式的应用,衣服平摊好,然后用手机一扫,马上就能告诉你这是T-SHIRT还是裙子,什么?你敢说这玩意鸡肋?T-SHIRT和裙子当然容易分别,但那些 莲蓬裙.连衣裙.连体裙.半截裙.背带裙.连体裤.热裤.短裤.超短裤.齐X裤.打底裤.靴裤.吊带裤你真的分得清楚么? 分不清的先去一旁罚歌一首 继续说正事 学姐大概是这么做的,先灰度,然后获取高频分量,然后根据高频分量二值化,然后获取轮廓的点集,然后通

Win8 Metro(C#)数字图像处理--2.52图像K均值聚类

原文:Win8 Metro(C#)数字图像处理--2.52图像K均值聚类 ?? [函数名称] ??图像KMeans聚类??????KMeansCluster(WriteableBitmap?src,int?k) /// <summary> /// KMeans Cluster process. /// </summary> /// <param name="src">The source image.</param> /// <pa

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.&

使用二阶微分锐化图像(拉普拉斯算子)基本原理及Python实现

1. 拉普拉斯算子 1.1 简介 一种典型的各向同性的微分算子,可用于检测图像中灰度图片的区域 $$ \nabla^{2} f=\frac{\partial^{2} f}{\partial x^{2}}+\frac{\partial^{2} f}{\partial y^{2}} $$ 根据上述的差分近似可以推导出 $$ \nabla^{2} f(x, y)=f(x+1, y)+f(x-1, y)+f(x, y+1)+f(x, y-1)-4 f(x, y) $$ 1.2 锐化过程 使用拉普拉斯过滤

paper 109 :图像处理中的拉普拉斯算子

1.基本理论 拉普拉斯算子是最简单的各向同性微分算子,具有旋转不变性.一个二维图像函数 的拉普拉斯变换是各向同性的二阶导数,定义为:   为了更适合于数字图像处理,将该方程表示为离散形式:    另外,拉普拉斯算子还可以表示成模板的形式,如图5-9所示.图5-9(a)表示离散拉普拉斯算子的模板,图5-9(b)表示其扩展模板,图5-9(c)则分别表示其他两种拉普拉斯的实现模板.从模板形式容易看出,如果在图像中一个较暗的区域中出现了一个亮点,那么用拉普拉斯运算就会使这个亮点变得更亮.因为图像中的边缘

[转]OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放

[OpenCV入门教程之十三]OpenCV图像金字塔:高斯金字塔.拉普拉斯金字塔与图片尺寸缩放 2014-05-18 18:58 36007人阅读 评论(54) 收藏 举报 本文章已收录于:  OpenCV知识库 本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 知乎:http

【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放

本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 知乎:http://www.zhihu.com/people/mao-xing-yun 邮箱: [email protected] 写作当前博文时配套使用的OpenCV版本: 2.4.9 这篇文章里,我们将一起探讨图像金字塔的一