平滑滤波——matlab图像处理

平滑滤波的目的是消除或尽量减少噪声,改善图像的质量。假设加性噪声是随机独立分布,这样利用图像像素领域的平均或加权平均即可有效地抑制噪声干扰。从信号分析的观点来看,图像平滑本质上是低能滤波,信号的低频部分可通过,高频的噪声信号被阻截。但由于图像边缘也处于高频部分,这样往往带来另一个问题:在对图像进行平滑处理时,往往对图像的细化造成一定程度的损坏。
领域运算可用领域与模版的卷积得到,这极大地方便了计算。
MATLAB中提供的imfliter函数用于实现图像的平滑处理,其调用格式如下。
B=imfliter(A,H):使用多维滤波器H对图像A进行滤波(平滑)。参数A可以是任意维的二值或非奇异数值型矩阵。参数H为矩阵,表示滤波器。H常由函数fspecial输出得到。返回值B与A的维数相同。
B=imfliter(A,H,optional1,optional2,…)

参数类型 说明
X 输入图像的外边界通过X来扩展,X默认值为0
symmetric 输入图像的外部边界通过镜像反射其内部边界来扩展
circular 输入图像的别界通过假设输入图像为周期函数来扩展
relicate 输入图像的外部别界通过复制内部别界的值来扩展
same 输入和输出图像大小相等,默认操作
full 输出图像比输入图像大
corr 使用相关进行滤波(平滑)
conv 使用卷积进行滤波(平滑)

matlab中提供的fspecial函数用于创建二维滤波器:
h=fspecial(type):
type可以是:average,disk,gaussian,laplacian,log,motion,prewitt,sobel,unsharp。

h=fspecial(type,parameters):创建指定类型和指定参数的二维滤波器h。参数parameters为与滤波器有关的参数。
parameters可以是:n,radius,(hsize,sigma),alpha,(n,sigma),(len,theta)。

clear all;
I = imread('cameraman.tif');
subplot(2,2,1);imshow(I);
xlabel('(a)原始图像');
H = fspecial('motion',20,45);
MotionBlur = imfilter(I,H,'replicate');
subplot(2,2,2);imshow(MotionBlur);
xlabel('(b)运动模糊图像');
H=fspecial('disk',10);
blurred = imfilter(I,H,'replicate');
subplot(2,2,3);imshow(blurred);
xlabel('(c)模糊图像');
H=fspecial('unsharp');
sharpened = imfilter(I,H,'replicate');
subplot(2,2,4);imshow(sharpened);
xlabel('(d)锐化图像');

对含有高斯噪声的图像进行平滑处理。

clear all;
I = imread('coins.png');
Inoised = imnoise(I,'gaussian',0.1,0.005);%对图像进行高斯噪声加噪
%制定卷积核
h=ones(3,3)/5;
h(1,1) = 0;
h(1,3) = 0;
h(3,1) = 0;
h(1,3) = 0;
%平滑运算
I2=imfilter(Inoised,h);
subplot(1,3,1);imshow(I);
xlabel('(a)原始图像');
subplot(1,3,2);imshow(Inoised);
xlabel('(b)带噪声图像');
subplot(1,3,3);imshow(I2);
xlabel('(c)平滑后图像');

有问题还请多多指教。刚刚入门。谢谢各位大牛。

matlab图像处理——平滑滤波相关推荐

  1. 数字图像处理--平滑滤波

    1.相关知识 今天介绍平滑滤波的一些知识! 相关知识:均值模板和中值滤波 例如,3X3均值模板(取图像相邻区域的像素求和取平均代替中心像素,更高次类似) [ 1 1 1 1 1 1 1 1 1] 然后 ...

  2. matlab平滑窗滤波,matlab实现平滑滤波

    clc;clear;close all; im=imread('p1.jpg'); im = rgb2gray(im); im=double(im); im=im/max(im(??); figure ...

  3. 【老生谈算法】matlab实现线性平滑滤波算法——线性平滑滤波算法

    matlab线性平滑滤波程序 1.文档下载: 本算法已经整理成文档如下,有需要的朋友可以点击进行下载 序号 文档(点击下载) 本项目文档 [老生谈算法]免疫算法+matlab程序.docx 2.算法详 ...

  4. matlab肌电信号平滑滤波_MATLAB图像处理:43:用高斯平滑滤波器处理图像

    本示例说明了如何使用imgaussfilt来对图像应用不同的高斯平滑滤波器.高斯平滑滤波器通常用于降低噪声. 将图像读入工作区. I = imread('cameraman.tif'); 使用各向同性 ...

  5. 关于平滑滤波,中值滤波,KNN滤波的图像处理(附matlab代码)

    前些天小编上了数字图像的课程,里面提到了均值平滑滤波操作,中值滤波操作,和KNN平滑滤波操作. 1.何为均值平滑滤波呢? 均值滤波的核心就是在一定的小范围内,给这个小范围的像素取平均值(此操作是在原图 ...

  6. MATLAB图像处理1——曝光、直方图均衡化、平滑滤波

    小白一枚,有错误之处还请指出,谢谢~ 1.曝光: 1)双重曝光 clc;clear; picname='xinyi.tif'; picname1='xiaolan.tif'; x=double(imr ...

  7. Matlab图像处理创新实践-实验1【图像滤波基础(1)】

    Matlab图像处理创新实践-实验1[图像滤波基础(1)] Matlab图像处理创新实践-实验2[图像滤波基础(2)] Matlab图像处理创新实践-实验3[图像锐化] Matlab图像处理创新实践- ...

  8. 频域平滑滤波 matlab,用MATLAB实现频域平滑滤波以及图像去噪代码

    用MATLAB实现频域平滑滤波以及图像去噪代码 提问时间:2018-01-18 19:06:50 是数字图象处理的实验,麻烦高人给个写好的代码,希望能在重要语句后面附上一定的说明,只要能在MATLAB ...

  9. matlab实现中值滤波程序,中值滤波流程(matlab平滑滤波和中值滤波程序)

    matlab平滑滤波和中值滤波程序 glRasterPos2i(100,100); //定位当前光标 glutBitmapCharacter(GLUT_BITMAP_9_BY_15,'H'); //写 ...

最新文章

  1. 【转载】学习嵌入式系统需要具备的条件、方法及步骤
  2. Nodejs介绍及其安装
  3. poj 1330 LCA (倍增+离线Tarjan)
  4. 系统什么时候会执行adapter的getview函数
  5. lightbox自定义图片大小的实现
  6. 判断select下拉框是否有选,并给下拉框赋值
  7. html中文案竖排怎么写,做了这个活动,感觉自己成了垂直排版css大师(文字竖排)...
  8. 360手机浏览器_网信办出手:华为、360、qq等8款手机浏览器被列入首批重点整治名单...
  9. oracle磁盘组实例启动,12c rac 实例无法启动之磁盘组空间耗尽
  10. Java业务代理模式~
  11. 教学设计和反思高中计算机,高中信息技术教学反思
  12. python类库包括_python类库大全
  13. 基本知识 100155
  14. 误码率matlab,关于误码率的问题 急!!!!!
  15. cmd批处理的/d/l/r/f
  16. Android桥方法设置GPS信号,android-GPS更新间隔更快,信号良好?
  17. 【AutoSAR】【MCAL】CAN
  18. 阿里主流开源框架大汇总
  19. 什么是JTAG和SWD接口协议,和各类仿真器
  20. 文件服务器同步,文件服务器同步

热门文章

  1. ES6:Reflect
  2. Animation.wrapMode循环模式
  3. 怎么设置tomcat管理员的用户名和密码
  4. 聊一聊Android的消息机制
  5. TCP/IP详解学习笔记(7)-广播和多播,IGMP协议
  6. 《梦断代码》阅读笔记Ⅱ
  7. 用twisted为未来安排任务(Scheduling tasks for the future
  8. Oracle RAC安装过程中所使用的一些配置
  9. poj 2503(字符串hash)
  10. nyoj-492 King(状态压缩)