您的位置:首页 > 其它

图像处理基本算法-卷积和相关

2011-12-13 12:09 337 查看
在执行线性空间滤波时,经常会遇到两个概念相关和卷积

二者基本相似,在进行图像匹配是一个非常重要的方法。

相关是滤波器模板移过图像并计算计算每个位置乘积之和的处理

卷积的机理相似,但滤波器首先要旋转180度

相关的计算步骤:

(1)移动相关核的中心元素,使它位于输入图像待处理像素的正上方

(2)将输入图像的像素值作为权重,乘以相关核

(3)将上面各步得到的结果相加做为输出

卷积的计算步骤:

(1)卷积核绕自己的核心元素顺时针旋转180度

(2)移动卷积核的中心元素,使它位于输入图像待处理像素的正上方

(3)在旋转后的卷积核中,将输入图像的像素值作为权重相乘

(4)第三步各结果的和做为该输入像素对应的输出像素

超出边界时要补充像素,一般是添加0或者添加原始边界像素的值

可以看出他们的主要区别在于计算卷积的时候,卷积核要先做旋转。

而计算相关过程中不需要旋转相关核。

离散单位冲击:我们将包含单个1而其余全是0的函数成为离散单位冲击。

重要性质:一个函数与离散单位冲击相关,在冲击位置产生这个函数的一

个翻转版本。

f 函数

w 滤波器模板

eg:

f(x,y)

0 0 0 0 0

0 0 0 0 0

0 0 1 0 0

0 0 0 0 0

0 0 0 0 0

w(x,y)

1 2 3

4 5 6

7 8 9

相关 f*w =

0 0 0 0 0

0 9 8 7 0

0 6 5 4 0

0 3 2 1 0

0 0 0 0 0

卷积f*w=

0 0 0 0 0

0 1 2 3 0

0 4 5 6 0

0 7 8 9 0

0 0 0 0 0

相关的用途:图象的匹配

假如函数f中存在w的一个复制版本,即f:

0 0 0 0 0

0 1 2 3 0

0 4 5 6 0

0 7 8 9 0

0 0 0 0 0

f*w是多少呢?读者也自己算吧。

9 26 50 38 21

42 94 154 106 54

90 186 285 186 90

54 106 154 94 42

21 38 50 26 9

是不是会发现w与f中w的复制版本重合时,该点的值最大。最大值为

1^2+2^2+……+9^2 = 285

这就是用相关进行图像匹配的基本原理。当然了,在图像匹配时还要进行

相关函数的归一化等操作。

matlab源代码:

%函数f
f =  [0 0 0 0 0
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 0];
%滤波器模板
w = [1 2 3
4 5 6
7 8 9];
%卷积
ff = conv2(f,w,'same')
%相关
ff2 = imfilter(f,w)

%图像匹配的基本原理
f2 = [  0 0 0 0 0
0 1 2 3 0
0 4 5 6 0
0 7 8 9 0
0 0 0 0 0];
ff3 = imfilter(f2,w)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: