卷积
http://blog.sina.com.cn/s/blog_4b700c4c0102dyw6.html
福利叶变换:
傅里叶变换就是将一个信号的时域表示形式映射到一个频域表示形式,
2:换句话说,傅立叶变换的物理意义是 将图像的灰度分布函数变换为图像的频率分布函数 ,傅立叶逆变换是将图像的频率分布函数变换为灰度分布函数。
3: 卷积定理:时域卷积等于频域乘积;时域乘积等于频域卷积(附加一个系数)
卷积定理指出,函数卷积的傅里叶变换是函数傅里叶变换的乘积。即,一个域中的卷积相当于另一个域中的乘积,例如时域中的卷积就对应于频域中的乘积
n的序列,按照卷积的定义进行计算,需要做2n- 1组对位乘法,其计算复杂度为 ;而利用傅里叶变换将序列变换到频域上后,只需要一组对位乘法,利用傅里叶变换的快速算法之后,总的计算复杂度为 。这一结果可以在快速乘法计算中得到应用。
是有限长度 N ,需要约 N2 次运算。藉由一些快速算法可以降到 O(Nln N) 复杂度。
最常见的快速卷积算法是藉由圆周摺积利用快速傅里叶变换。也可藉由其它不包含 FFT 的做法,如数论转换。
http://blog.sina.com.cn/s/blog_98eef7830100wxkx.html
http://www.qiyeku.com/xinwen/583718.html
卷积的计算步骤:(动态演示)
- 对h(n)绕纵轴折叠,得h(-n);
- 对h(-m)移位得h(n-m);
- 将x(m)和h(n-m)所有对应项相乘之后相加得离散卷积结果y(n)。
说明:
令m′=n-m,做变量代换,则卷积公式变为
因此,x(m)与h(n-m)的位置可对调(即输入为x(n)、单位脉冲响应为h(n)的线性时不变系统与输入为h(n)、单位脉冲响应为x(n)的线性时不变系统具有同样的输出)。
离散卷积也称为“线性卷积”或“直接卷积”,以区别其它种类的卷积。
系统的稳定性与因果性
线性和时不变两个约束条件定义了一类可用褶积和表示的系统。稳定性和因果性也是很重要的限制。
稳定系统:对于每一个有界输入产生一个有界输出的系统为稳定系统。
当且仅当
时,该线性时不变系统是稳定的。
因果系统:系统的输出y(n)只取决于此时以及此时以前的输入,即取决于x(n),x(n-1),x(n-2)……。
非因果系统:系统的输出y(n)取决于未来的输入x(n+1),x(n+2),…。
说明:
许多重要的网络,如理想低通滤波器等都是非因果的不可实现系统。但数字信号处理往往是非实时的,即使是实时处理,也允许有很大的延时,这时对于某一个输出y(n)来说,已有大量的“未来”输入x(n+1)、x(n+2)……记录在存储器中可以被调用,因而可以很接近于实现这些非因果系统,也即可用具有很大延时的因果系统逼近非因果系统,这是数字系统比模拟系统更能获得接近理想特性的原因。
因果系统的充要条件:h(n)≡0,n〈0。
稳定的因果系统:既满足稳定性又满足因果性的系统。这种系统的单位脉冲响应既是单边的,又是绝对可积的,即
这种稳定因果系统既是可实现的又是稳定工作的,这种系统是最主要的系统。
http://zlgc.seu.edu.cn/jpkc2/ipkc/signal/new/course/one/1_3_2.htm
这里讨论利用输入图像中像素的小邻域来产生输出图像的方法,在信号处理中这种方法称为滤波(filtering)。其中,最常用的是线性滤波:输出像素是输入邻域像素的加权和。
1.相关算子(Correlation Operator)
步骤:
1)滑动核,使其中心位于输入图像g的(i,j)像素上
2)利用上式求和,得到输出图像的(i,j)像素值
3)充分上面操纵,直到求出输出图像的所有像素值
例:
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]Matlab 函数:imfilter(A,h)
2.卷积算子(Convolution)
步骤:
1)将核围绕中心旋转180度
2)滑动核,使其中心位于输入图像g的(i,j)像素上
3)利用上式求和,得到输出图像的(i,j)像素值
4)充分上面操纵,直到求出输出图像的所有像素值
Matlab 函数:Matlab 函数:imfilter(A,h,'conv')% imfilter默认是相关算子,因此当进行卷积计算时需要传入参数'conv'
3.边缘效应
当对图像边缘的进行滤波时,核的一部分会位于图像边缘外面。
常用的策略包括:
1)使用常数填充:imfilter默认用0填充,这会造成处理后的图像边缘是黑色的。
2)复制边缘像素:I3 = imfilter(I,h,'replicate');
4.常用滤波
fspecial函数可以生成几种定义好的滤波器的相关算子的核。
例:unsharp masking 滤波
I = imread( 'moon.tif' );
h = fspecial( 'unsharp' );
I2 = imfilter(I,h);
imshow(I), title( 'Original Image' )
figure, imshow(I2), title( 'Filtered Image' )