简单平滑滤波器
来源:互联网 发布:php时间戳转换 编辑:程序博客网 时间:2024/05/19 02:22
(1)基本原理
不同的空间滤波器主要就在于所使用的模板(卷积核)不同。图像的简单平滑模板如下图所示(模板前要乘以衰减因子1/9):
根据模板操作(卷积运算)的规则不难发现,图像的简单平滑就是对图像中一定邻域内的像素灰度值求平均值,将平均的结果作为中心像素的灰度保存在结果图中(注意,不要在原图上进行赋值,新得的像素因另起一个图像矩阵保存),这样就可以减少图像中的噪声影响。事实上不难发现,这种方法只是把噪点的影响分配到邻域的几个像素中,从而直观上减少了噪点的影响。
(2)编码实现
% ***************************Copyright 2016[c]**************************% ************************Declaration************************************% File name: averaging_filter% Author: 靖Harry % Date: 29-Jul-2016 21:16:52 % Version Number: 1.0% Abstract: % averaging_filter. % *********************************end*********************************clearclcI1=imread('lena_pepper.png');%带有椒盐噪声的图像I2=I1; %模板操作后得到的像素值不能覆盖原图像中的值,放在图像矩阵I2中[m,n]=size(I1);h=[1,1,1;1,1,1;1,1,1]/9; %简单平滑模板%模板操作过程(加权平均求和)for a=2:m-1 for b=2:n-1 I2(a,b)=0; %由于I2是原图像I1复制而来,操作前先清零 for i=-1:1 for j=-1:1 I2(a,b)=I1(a+i,b+j)*h(i+2,j+2)+I2(a,b); end end endend%用自带函数求得结果作比较,由于上述操作其实是相关操作,因此用‘corr’I3=imfilter(I1,h,'corr');%打印结果,作比较imshow(I1),title('原图像');figure,imshow(I2),title('自己编写的函数');figure,imshow(I3),title('matlab自带函数');
仔细对比后两幅图可以看出,自己编写的函数与imfilter得出的图像完全一致(边缘处理已忽略),证明对算法的理解是正确的。而与原图做对比可以发现,降噪的效果并不好,使用简单平滑处理的方法消除噪声往往是以大幅度降低图像清晰度为代价的。并且如前面讨论的那样,简单平滑处理实质上并没有消除噪声,只是将噪声的影响平均分配而使人眼不易察觉而已。
阅读全文
0 0
- 简单平滑滤波器
- 平滑滤波器
- 平滑滤波器(smoothing filter)
- 平滑滤波器的演化
- 平滑滤波器的演化
- 高斯平滑滤波器
- 平滑滤波器的演化
- 平滑空间滤波器
- 平滑空间滤波器
- 平滑滤波器的演化
- 数字图像处理---平滑空间滤波器
- Gaussian Smoothing Filter高斯平滑滤波器
- (转)高斯平滑或者说滤波器
- Bilateral Filter:一种保边平滑滤波器
- Bilateral Filter:保护边缘的平滑滤波器
- 高斯平滑滤波器opencv实现效果
- 【图像处理笔记】平滑空间滤波器
- 【图像处理笔记】平滑空间滤波器
- 图——深度优先搜索(Graph
- build.gradle中几个参数的意义
- Const
- JAVA内存泄漏
- Python中字典合并的四种方法
- 简单平滑滤波器
- vb中两种重要的控制语句
- 通过接口来实现多态性,接口可以作为参数
- union的使用注意事项
- javascript中childNodes与children 区别 以及firstChild与firstElementChild区别
- Nutanix:放弃SAN 做真正的融合
- 计算机网络概述
- C++之继承关系
- Git ssh