功能:对任意类型数组或多维图像进行滤波。
用法:B = imfilter(A,H)
   B = imfilter(A,H,option1,option2,...)
   或写作g = imfilter(f, w, filtering_mode, boundary_options, size_options)
其中,f为输入图像,w为滤波掩模,g为滤波后图像。filtering_mode用于指定在滤波过程中是使用“相关”还是“卷积”。boundary_options用于处理边界充零问题,边界的大小由滤波器的大小确定。具体参数选项见下表:

选项 描述
filtering_mode ‘corr’ 通过使用相关来完成,该值为默认。
‘conv’ 通过使用卷积来完成
boundary_options ‘X’ 输入图像的边界通过用值X(无引号)来填充扩展
其默认值为0
‘replicate’ 图像大小通过复制外边界的值来扩展
‘symmetric’ 图像大小通过镜像反射其边界来扩展
‘circular’ 图像大小通过将图像看成是一个二维周期函数的一个周期来扩展
size_options ‘full’ 输出图像的大小与被扩展图像的大小相同
‘same’ 输出图像的大小与输入图像的大小相同。这可通过将滤波掩模的中心点的偏移限制到原图像中包含的点来实现,该值为默认值。

举例:

例1:

originalRGB = imread('peppers.png');

imshow(originalRGB)
h = fspecial('motion', 50, 45);%创建一个滤波器
filteredRGB = imfilter(originalRGB, h);

figure, imshow(filteredRGB)

例2:

%生成一个8x8的均值滤波器

originalRGB = imread('peppers.png');

imshow(originalRGB)

w = fspecial('average',8);
filteredRGB = imfilter(originalRGB, w);

figure, imshow(filteredRGB)

例3:
单色图像的平滑
单色图像(如灰度图像)平滑的过程:定义一个系数为1的模板,用这个空间模板的系数去乘以所有像素的值,并将结果除以模板中元素的总数。
彩色图像的平滑:
1、抽取图像:I(R、G、B)三幅分量。
    >>fR = I(:,:,1);
    >>fG = I(:,:,2);
    >>fB = I(:,:,3);
2、 (1): 分别对(R、G、B)这三幅图像分量进行滤波。例如:平均滤波器 w = fspecial('average', 25); 来进行平滑处理。     
    >>fR_filtered = imfilter(fR, w, 'replicate');      
    >>fG_filtered = imfilter(fG, w, 'replicate');      
    >>fB_filtered = imfilter(fB, w, 'replicate');
    (2):也可以对(R、G、B)这三个图像分量一起处理,不用进行第三步。
>>fc_filtered = imfilter(I, w, 'replicate');   
3、重建滤波后的 RGB 的图像。
    >>fc_filtered = cat(3, fR_filtered, fG_filtered, fB_filtered)
例子程序:
close all
clear all
clc
I = imread('olivian.jpg');      %读取一张噪声图像

%提取图像的三个(R、G、B)分量图像
R = I(:,:,1);
G = I(:,:,2);
B = I(:,:,3);
%生成一个8x8的均值滤波器

w = fspecial('average',8);
fR = imfilter(R,w,'replicate');
fG = imfilter(G,w,'replicate');
fB = imfilter(B,w,'replicate');
fc_filtered = cat(3,fR,fG,fB);   %将这四个句子可以改为:fc_filtered = imfilter(I, w, 'replicate');
figure
subplot(121);
imshow(I);title('彩色噪声图像');
subplot(122);
imshow(fc_filtered,'Border','tight');title('彩色图像平滑处理');

imfilter使用方法相关推荐

  1. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群

    作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...

  2. Java面试题大全2021版

    一.Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...

  3. matlab中imfilter是什么意思,matlab中imfilter的用法

    来源:https://blog.csdn.net/qq_15971883/article/details/78334380 转载自:http://blog.csdn.net/u013066730/ar ...

  4. 【图像处理】MATLAB:退化函数及多种复原方法

    退化函数建模   通过点扩散函数 PSF 进行图像复原的实验,添加适当的噪声.   fspecial函数中,'motion'指的是运动模糊算子. 代码示例 % checkerboard产生测试板图像, ...

  5. 图像增强:多尺度的图像细节提升(multi-scale detail boosting)实现方法

    图像增强:多尺度的图像细节提升(multi-scale detail boosting)实现方法        看到一篇博客介绍基于多尺度的图像的细节提升算法,其参考论文<Dark image ...

  6. python解图片迷宫生成路径_用Python代码来解图片迷宫的方法整理

    译注:原文是StackOverflow上一个如何用程序读取迷宫图片并求解的问题,几位参与者热烈地讨论并给出了自己的代码,涉及到用python对图片的处理以及广度优先(BFS)算法等. 问题by Why ...

  7. 退化函数及多种复原方法【Matlab】

    退化函数建模   通过点扩散函数 PSF 进行图像复原的实验,添加适当的噪声.   fspecial函数中,'motion'指的是运动模糊算子. 代码示例 % checkerboard产生测试板图像, ...

  8. 7.边缘检测:2D运算——Canny的不同结果、单个2D边缘检测滤波器、实现边缘3种方法Matlab实战_3

    目录 Canny的不同结果 单个2D边缘检测滤波器 实现边缘3种方法Matlab实战 第一种 图像差异 第二种 Canny边缘检测器 第三种 高斯拉普拉斯变换 Canny的不同结果 右边的图像是左边的 ...

  9. matlab 分水岭法,分水岭算法Matlab实现——三种方法 | 学步园

    clear,clc%三种方法进行分水岭分割 %读入图像 filename='sar1.bmp'; f=imread(filename); Info=imfinfo(filename); if Info ...

最新文章

  1. 探寻浏览器渲染的秘密
  2. Linux下安装Nginx完整教程及常见错误解决方案
  3. android笔记集one
  4. C语言小游戏之贪吃蛇
  5. ASP.NET中的EnableViewState
  6. 《IT老外在中国》第28期:他经历了Adobe最惊心动魄的一跃
  7. javasript | 鼠标经过表格行变色
  8. 两台计算机如何共享文档,两台电脑怎么共享文件夹?
  9. Kubernetes 进阶训练营 控制器
  10. MipMap(纹理过滤)
  11. Android接入谷歌广告 - 发现各种坑
  12. MATLAB图像处理—imfindcircles的输出变量含义
  13. 计算机无法设置双屏显示,电脑双屏显示怎么设置?
  14. 渗透测试 | 域名信息收集
  15. java计算机毕业设计高校实习实训管理系统MyBatis+系统+LW文档+源码+调试部署
  16. √ C# - 19.怎么使用反射(P528)
  17. java商城毕业设计 JavaWeb家具家居购物商城毕业设计(8)商品评论列表
  18. Linux运维工程师招人要求,从业Linux运维工程师岗位有哪些要求?负责哪些工作?
  19. 机器学习数据分析方法
  20. Termius安装配置

热门文章

  1. 根据条件展示不同图片
  2. 每日一句:Effort
  3. 【MOS】在不同版本和平台之间进行还原或复制 (文档 ID 1526162.1)--跨版本恢复
  4. Shell教程day05
  5. python毕业设计项目源码选题(8)网上外卖点餐系统毕业设计毕设作品开题报告开题答辩PPT
  6. vue 数组对象提取_vue中使用对象数组的最佳实践
  7. 上海第二家K11项目动工,百年历史的淮海中路再添新地标
  8. 富士康“kiss”新无线技术,创意族与富士康火花依旧
  9. PHP7新特性和废弃的函数
  10. 使用plupload实现无刷新上传图片