Matlab滤波函数
filter2
MATLAB图像处理工具箱提供了基于卷积的图象滤波函数filter2,filter2的语法格式为:
Y = filter2(h,X)
其中Y = filter2(h,X)返回图像X经滤波算子h滤波后的结果,默认返回图像Y与输入图像X大小相同。其实filter2和conv2是等价的。MATLAB在计算filter2时先将卷积核旋转180度,再调用conv2函数进行计算。
conv2函数
C=conv2(A,B,shape);
A:输入图像,B:卷积核
假设输入图像A大小为ma x na,卷积核B大小为mb x nb,则
当shape=full时,返回全部二维卷积结果,即返回C的大小为(ma+mb-1)x(na+nb-1)
shape=same时,返回与A同样大小的卷积中心部分
shape=valid时,不考虑边界补零,即只要有边界补出的零参与运算的都舍去,返回C的大小为(ma-mb+1)x(na-nb+1)
2、实现步骤
假设输入图像A大小为ma x na,卷积核大小为mb x nb,则MATLAB的conv2函数实现流程如下:
a、对输入图像补零,第一行之前和最后一行之后都补mb-1行,第一列之前和最后一列之后都补nb-1列(注意conv2不支持其他的边界补充选项,函数内部对输入总是补零)。
b、关于卷积核的中心,旋转卷积核180度。
c、滑动卷积核,将卷积核的中心位于图像矩阵的每一个元素。
d、将旋转后的卷积核乘以对应的矩阵元素再求和。
3、实现过程展示
假设有图像A=[4 3 1 2;0 1 1 3;5 2 0 0],卷积核B=[1 2 3;0 -1 2;1 1 0]
a、首先是按照上面的步骤进行补零,如下图外圈红色的为补出的零
fspecial函数
- ▪ 'average' 为均值滤波,参数为hsize代表模板尺寸,默认值为[3,3]。
- ▪ 'disk' 为圆形区域均值滤波,参数为radius代表区域半径,默认值为5.
- ▪ 'gaussian' 为高斯低通滤波,有两个参数,hsize表示模板尺寸,默认值为[3 3],sigma为滤波器的标准值,单位为像素,默认值为0.5.
- ▪ 'laplacian' 为拉普拉斯算子,参数alpha用于控制算子形状,取值范围为[0,1],默认值为0.2.
- ▪ 'log' 为拉普拉斯高斯算子,有两个参数,hsize表示模板尺寸,默认值为[3 3],sigma为滤波器的标准差,单位为像素,默认值为0.5.
- ▪ 'motion' 为运动模糊算子,有两个参数,表示摄像物体逆时针方向以theta角度运动了len个像素,len的默认值为9,theta的默认值为0;
- ▪ 'prewitt' 用于边缘增强,大小为[3 3],无参数
- ▪ 'sobel' 用于边缘提取,无参数
- ▪ 'unsharp' 为对比度增强滤波器。参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2.
ordfilt2
B=ordfilt2(A,ORDER,DOMAIN) A中的每个元素的邻域元素排序,第order个元素替代当前元素。二维统计顺序滤波函数,对于给定的n个数值{al ,a2,...,an},将它们按大小顺序排列,将处于第k个位置的元素作为图像滤波输出,即序号为k的二维统计滤波。ordfilt2函数语法格式为:
Y=ordfilt2(X,order,domain)
Y=ordfilt2(X,order,domain,S)
其功能是:对图像X作顺序统计滤波,order为滤波器输出的顺序值,domain为滤波窗口。S是与domain大小相同的矩阵,它是对应domain中非零值位置的输出偏置。例如:
Y=ordfilt2(X,5,ones(3,3)),相当于3×3的中值滤波
Y=ordfilt2(X,1,ones(3,3)),相当于3×3的最小值滤波
Y=ordfilt2(X,9,ones(3,3)),相当于3×3的最大值滤波
Y=ordfilt2(X,1,[0 1 0;1 0 1;0 1 0]),输出的是每个像素的东、西、南、北四个方向相邻像素灰度的最小值。
Matlab滤波函数相关推荐
- 写一个matlab 滤波函数
在 Matlab 中,可以使用内置的滤波函数来对数据进行滤波处理. 例如,你可以使用 filter 函数来实现一个低通滤波器,其中 b 和 a 分别表示滤波器的输入和输出系数. y = filter( ...
- MATLAB中滤波函数、频率响应函数以及频率响应函数不同表达形式的转换
一.理论公式 频率响应函数的表达式: 对应的z变换的多项表达式: Z变换的零极点表达形式: Z变换的二阶因子级联形式: 二.滤波函数filter filter函数,仅可以用于零状态响应系统. y=fi ...
- Matlab中一维和二维滤波函数及其典型用法【随时更新】
Matlab中一维和二维滤波函数及其典型用法[随时更新] 一维滤波函数 均值滤波器movmean 中值滤波器movmedian 二维滤波函数 用fspecial预定义各种二维滤波器 主要用于自查,如果 ...
- bilareralFilter双边滤波函数
C++: void **bilateralFilte**r(InputArray src, OutputArray dst, int d, double sigmaColor, double sigm ...
- Matlab参考函数
附录1 常用命令 附录1.1 管理用命令 函数名 功能描述 函数名 功能描述 addpath 增加一条搜索路径 rmpath 删除一条搜索路径 demo 运行Matlab演示程序 type 列出.M文 ...
- matlab图像处理函数大全
1.图像的变换 ① fft2:fft2函数用于数字图像的二维傅立叶变换,如:i=imread('104_8.tif'); j=fft2(i); ②ifft2::ifft2函数用于数字图像的二维傅立 ...
- matlab滤波器函数6,matlab中滤波器函数filter的c语言实现
参考出处:https://wenku.baidu.com/view/6a8eeeee9fc3d5bbfd0a79563c1ec5da50e2d6e5.html 实现: MATLAB的filter滤波函 ...
- matlab常用函数与常用指令大全
matlab常用函数与常用指令大全 matlab常用函数- - 1.特殊变量与常数 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 i ...
- matlab meshc函数_MATLAB函数库大全(收藏版)
转发朋友圈获30赞,截图发送至公众号对话框,即可获该文章的PDF版本方便阅读. 目录 1 常用命令 表1.1 管理用命令 表1.2管理变量与工作空间用命令 表1.3文件与操作系统处理命令 表1.4窗口 ...
- matlab ecef2enu函数,GPS仿真-matlab工具箱
[实例简介] MATLAB下的GPS工具箱,GPS TOOLBOX包含以下内容: 1.GPS相关常量和转换因子: 2.角度变换: 3.坐标系转换: 点变换: 矩阵变换: 向量变换: 4.专用测绘程序: ...
最新文章
- uboot 如何设置网关地址_两种网络地址段,如何设置内网和外网一起上?
- 【 MATLAB 】序列运算之序列移位的函数实现
- AI顶会组团“改版”:NeurIPS DDL推迟3周,ICLR连赞助商都要开视频,CVPR还在死撑...
- C# SQLite 数据库操作实例2
- 一道很熟悉的前端面试题,你怎么答?
- js获取浏览器滚动条距离顶端的距离
- Android自定义控件系列--Path综述
- java.sql.SQLException: Protocol violation 解决方法
- 2021-04-23 商业文章版权协议分类
- 瑞典皇家理工学院工程类表
- 廖雪峰Python练习题
- 手机Linux安装rtl8187L,fedora 19编译安装rtl8187l驱动问题
- 如何在Mac OS X中使用GeekTool设置桌面任务清单
- 一个有意思的VMP破解 旺旺吧上网经营管理系统 破解
- dell服务器安装系统加载驱动,DELL服务器使用U盘加载驱动安装Win2003.doc
- linux 监控微信通知,Prometheus + Altermanager实现告警微信通知
- D-009 eMMC电路设计
- youtube批量采集-低成本解决方案-2
- 数据库 1NF、2NF、3NF、BCNF
- 4.2.3偏移寻址(19)
热门文章
- qt制作刻度条(可用作时间及其他刻度)实现缩放,以及平移
- C/C++中类型变量转换之间的数值溢出
- linux机器crt连接不上,SecureCRT连不上Linux主机了,求破
- c++ bitset类用法
- 计算机截图工具无法运行,win7运行截图工具提示截图工具未运行解决方法
- java游戏鬼吹灯安卓版下载_鬼吹灯手机游戏下载
- 入门级详细USB移植教程
- c语言 程序设计 题库答案 p,c语言 程序设计 题库答案 p
- (转载)Box2D v2.3.0 用户手册中文版(第1章)-导言
- 诺基亚E63凤凰刷机实战