概述
1. 基础(相关算子、卷积算子、边缘效应)
信号处理中利用输入图像中像素的小领域来产生输出图像的方法称作滤波(filtering),其中最常用的是线性滤波,输出像素是输入像素的加权和。
1.1 相关算子(Correlation Operator)
定义:,即,其中h称作相关核(Kernel)。
步骤:1)滑动核,使其中心位于输入图像g的(i,j)像素上;
2)利用上述公式求和,得到输出图像的(i,j)像素值;
3)重复1-2,直到求出输出图像的所有像素值。
例如:
A = [17 24 1 8 15 h = [8 1 6
23 5 7 14 16 3 5 7
4 6 13 20 22 4 9 2]
10 12 19 21 3
11 18 25 2 9]
计算输出图像的(2,4)元素:
1*8+8*1+15*6+7*3+14*5+16*7+13*4+20*9+22*2=585 Matlab函数:imfilter(A, h)
1.2 卷积算子(Covolution)
定义:,
步骤:1)将核围绕中心旋转180度;
2)滑动核,使其中心位于输入图像g的(i,j)像素上;
3)利用卡式求和,得到输出图像的(i,j)像素值 ;
4)重复上述操作,直到求出输出图像的所有像素值。
例如:计算输出图像的(2,4)元素:
1*2+8*9+15*4+7*7+14*5+16*3+20*1+22*8 = 575 Matlab函数:imfilter(A,h,'conv') %imfilter默认是相关算子
1.3 边缘效应
当对图像边缘进行滤波时,核的一部分会位于图像边缘的外面。
常用的策略:1)使用常数填充:imfilter默认用0填充,但处理后的图像边缘是黑色的;
2)复制边缘像素:复制边缘的像素值;imfilter(I, h, 'replicate')
2 图像微分(一阶导数、二阶导数和拉普拉斯算子)
更复杂些的滤波算子一般是先利用高斯滤波来平滑,然后计算其1阶和2阶微分。由于它们滤除高频和低频,因此称为带通滤波器(band-pass filters)。在介绍具体的带通滤波器前,先介绍必备的图像微分知识。
2.1 一阶导数
连续函数,其微分可表达为或(1.1)
对于离散情况(如图像),其导数必须用差分方差来近似
(1.2),前向差分(forward differencing)
(1.3),中心差分(central differencing)
2.2 图像梯度(Image Gradient)
图像I的梯度定义为,其幅值为,但出于计算性能考虑,幅值也可用来近似。具体的Matlab函数:
1)gradient:梯度计算
2)quiver:以箭头形状绘制梯度,箭头方向都是水平或垂直的。
2.3 二阶导数
对于一维函数,其二阶导数,即。它的差分函数为 (3.1)
2.4 拉谱拉斯算子(laplacian operator)
拉普拉斯算子是n维欧式空间的一个二阶微分算子。它定义为两个梯度向量算子的内积 (4.1)
其二维空间下的公式:(4.2)
对于一维离散情况,其二阶导数变成二阶差分:
1)一阶差分
2)二阶差分
3)一维拉普拉斯运算可以通过一维卷积核[1 2 1]实现
对于二维情况(图像),拉普拉斯算子是两个二阶差分的和(见3.2),公式:
(3.4)
3.4对应的卷积核为,常用的拉普拉斯核有
更多的拉普拉斯介绍参见:http://fourier.eng.hmc.edu/e161/lectures/gradient/node8.htm(The Laplace Operator) http://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm(Laplacian/Laplacian of Gaussian)
转自:http://blog.sina.com.cn/s/blog_4bdb170b01019atv.html(原作者不详)
最后
以上就是害怕巨人为你收集整理的图像处理(卷积)1. 基础(相关算子、卷积算子、边缘效应)2 图像微分(一阶导数、二阶导数和拉普拉斯算子)的全部内容,希望文章能够帮你解决图像处理(卷积)1. 基础(相关算子、卷积算子、边缘效应)2 图像微分(一阶导数、二阶导数和拉普拉斯算子)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复