Glo*_*ove 7 matlab image-processing image-enhancement noise-reduction
在给定的应用中,我应用平均掩模输入图像以减少噪声,然后使用拉普拉斯掩模来增强小细节.如果我在Matlab中颠倒这些操作的顺序,任何人都知道我是否会得到相同的结果?
与拉普拉斯核相结合类似于使用关于强度变化的二阶导数信息.由于此导数对噪声很敏感,因此我们经常在应用拉普拉斯滤波器之前用高斯光滑平滑图像.
这是一个类似于@belisarius发布的MATLAB示例:
f='http://upload.wikimedia.org/wikipedia/commons/f/f4/Noise_salt_and_pepper.png';
I = imread(f);
kAvg = fspecial('average',[5 5]);
kLap = fspecial('laplacian',0.2);
lapMask = @(I) imsubtract(I,imfilter(I,kLap));
subplot(131), imshow(I)
subplot(132), imshow( imfilter(lapMask(I),kAvg) )
subplot(133), imshow( lapMask(imfilter(I,kAvg)) )
Run Code Online (Sandbox Code Playgroud)

比方说,你有两个过滤器F1和F2和图像I.如果您通过两个过滤器传递图像,则会得到定义为的响应
X = ((I * F1) * F2)
Run Code Online (Sandbox Code Playgroud)
我在这里*用来代表卷积.
通过卷积的关联规则,这是相同的.
X = (I * (F1 * F2))
Run Code Online (Sandbox Code Playgroud)
使用交换性,我们可以这么说
X = (I * (F2 * F1)) = ((I * F2) * F1)
Run Code Online (Sandbox Code Playgroud)
当然,这是一个很好的连续数学领域,在机器上做这些事情意味着会出现舍入错误,一些数据可能会丢失.您还应该考虑过滤器是否为FIR,否则将数字滤波视为卷积分类的整个概念开始崩溃,因为您的过滤器无法按照您希望的方式运行.
编辑
离散卷积定义为

因此,在数据边缘添加零不会改变数学意义上的任何内容.
正如一些人所指出的那样,你将在数字上得到不同的答案,但每当我们处理计算实际数据时,这都是预期的.这些变化应该很小并且限于卷积输出的低能量分量(即:边缘).
考虑卷积运算如何工作也很重要.汇总两组长度X和长度的数据Y将得到一个长度的答案X+Y-1.对于像MATLAB和Mathematica这样的程序,幕后有一些神奇的东西给你一个长度X或长度的答案Y.
所以关于@belisarius的帖子,似乎我们真的在说同样的话.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           10304 次  |  
        
|   最近记录:  |