版权声明:本文为原创文章,水平有限,欢迎转载,但请注明转载出处http://blog.csdn.net/niuwei22007,谢谢。!!!联系方式见左侧!!!
原链接:http://blog.csdn.net/niuwei22007/article/details/48969709可以查看更多文章
卷积操作是对图像处理时,经常用到的一种操作。它具有增强原信号特征,并且能降低噪音的作用。 那么具体是如何计算的呢?且看下文。
待处理图像数据(5*5): 卷积核:(3*3)
A = [17 24 01 08 15 H = [8 1 6
23 05 07 14 16 3 5 7
04 06 13 20 22 4 9 2]
10 12 19 21 03
11 18 25 02 09]
步骤:
1) 将算子围绕中心旋转180度
H’=[2 9 4
7 5 3
6 1 8]
2) 滑动算子,使其中心位于输入图像g的(i,j)像素上
3) 利用公式求和,得到输出图像的(i,j)像素值
(2,4)元素值= 1* 2+ 8* 9+15* 4
+ 7* 7+14* 5+16* 3
+13* 6+20* 1+22* 8=575
4) 重复2),3),直到求出输出图像的所有像素值
二.边缘效应
核的一部分会位于图像边缘外面
1)使用常数填充:默认用0填充,这会造成处理后的图像边缘是黑色的。
2)复制边缘像素:
主要参考目录:
这里讨论利用输入图像中像素的小邻域来产生输出图像的方法,在信号处理中这种方法称为滤波(filtering)。其中,最常用的是线性滤波:输出像素是输入邻域像素的加权和。
定义:, 即
,其中h称为相关核(Kernel).
步骤:
1)滑动核,使其中心位于输入图像g的(i,j)像素上
2)利用上式求和,得到输出图像的(i,j)像素值
3)充分上面操纵,直到求出输出图像的所有像素值
例:
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)元素=
Matlab 函数:imfilter(A,h)
2.卷积算子(Convolution)
定义:
,
,其中
步骤:
1)将核围绕中心旋转180度
2)滑动核,使其中心位于输入图像g的(i,j)像素上
3)利用上式求和,得到输出图像的(i,j)像素值
4)充分上面操纵,直到求出输出图像的所有像素值
例:计算输出图像的(2,4)元素=
Matlab 函数:Matlab 函数:imfilter(A,h,'conv')% imfilter默认是相关算子,因此当进行卷积计算时需要传入参数'conv'
3.边缘效应
当对图像边缘的进行滤波时,核的一部分会位于图像边缘外面。
常用的策略包括:
1)使用常数填充:imfilter默认用0填充,这会造成处理后的图像边缘是黑色的。
2)复制边缘像素:I3 = imfilter(I,h,'replicate');
4.常用滤波
fspecial函数可以生成几种定义好的滤波器的相关算子的核。
例:unsharp masking 滤波
分类: R-Computer Vision
12345 I = imread(
'moon.tif'
);
h = fspecial(
'unsharp'
);
I2 = imfilter(I,h);
imshow(I), title(
'Original Image'
)
figure, imshow(I2), title(
'Filtered Image'
)
新闻热点
疑难解答