Matlab imfilter函数
imfilter函数
imfilter函数是对图像进行滤波的函数,matlab语句格式为:
B = imfilter(A,h),使用多维滤波器hhh对多维数组AAA进行滤波,并在BBB中返回结果。B = imfilter(A,h,options,…)根据一个或多个指定的选项进行多维滤波。
options 控制滤波运算的选项有:
选项 | 说明 |
---|---|
填充选项 | |
数值标量,xxx | 边界之外的输入数组值被赋予值xxx 默认值为0 |
‘symmetric’ | 边界之外的输入数组值是通过沿数组边界对数组进行镜面反射得到 |
‘replicate’ | 边界之外的输入数组值假定为等于最近的数组边界值 |
‘circular’ | 边界之外的输入数组值是通过隐式假设输入数组具有周期性来计算的。 |
输出大小 | |
‘same’ | 默认选项。输出数组与输入数组大小相同 |
‘full’ | 输出数组是完全滤波后的结果 |
相关性和卷积选项 | |
‘corr’ | 默认选项。使用相关性执行多维滤波,这与filter2执行滤波的方式相同 |
‘conv’ | 使用卷积执行多维滤波 |
以A=[123456789]A = \left[ \begin{matrix} 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \\ \end{matrix} \right]A=⎣⎡147258369⎦⎤为例,设h=[−101]h = \left[ \begin{matrix} -1 & 0 & 1 \end{matrix} \right]h=[−101],计算B = imfilter(A,h)
- 首先确定options无特殊说明,那么输出BBB大小与AAA相同,边界外补零,默认使用相关性进行滤波
- 给AAA补零得到:
A′=[012300456007890]A' = \left[ \begin{matrix} 0 & 1 & 2 & 3 & 0 \\ 0 & 4 & 5 & 6 & 0 \\ 0 & 7 & 8 & 9 & 0 \\ \end{matrix} \right]A′=⎣⎡000147258369000⎦⎤- 将滤波核hhh的中心依次与AAA相应元素对齐做滤波操作
以第一个元素a1,1=1a_{1,1} = 1a1,1=1为例,有
(−101)\left( \begin{matrix} -1 & 0 & 1 \end{matrix} \right)(−101)和(012)\left( \begin{matrix} 0 & 1 & 2 \end{matrix} \right)(012)做相关
结果为(−1)∗0+0∗1+1∗2=2(-1)*0+0*1+1*2 = 2(−1)∗0+0∗1+1∗2=2
其他元素同理:
(−1)∗1+0∗2+1∗3=2(-1)*1+0*2+1*3 = 2(−1)∗1+0∗2+1∗3=2、(−1)∗2+0∗3+1∗0=−2(-1)*2+0*3+1*0 = -2(−1)∗2+0∗3+1∗0=−2
(−1)∗0+0∗4+1∗5=5(-1)*0+0*4+1*5 = 5(−1)∗0+0∗4+1∗5=5、(−1)∗4+0∗5+1∗6=2(-1)*4+0*5+1*6 = 2(−1)∗4+0∗5+1∗6=2、(−1)∗5+0∗6+1∗0=−5(-1)*5+0*6+1*0 = -5(−1)∗5+0∗6+1∗0=−5
(−1)∗0+0∗7+1∗8=8(-1)*0+0*7+1*8 = 8(−1)∗0+0∗7+1∗8=8、(−1)∗7+0∗8+1∗9=2(-1)*7+0*8+1*9 = 2(−1)∗7+0∗8+1∗9=2、(−1)∗8+0∗9+1∗0=−8(-1)*8+0*9+1*0 = -8(−1)∗8+0∗9+1∗0=−8- 最终得到滤波结果为:
A=[22−252−582−8]A = \left[ \begin{matrix} 2 & 2 & -2 \\ 5 & 2 & -5 \\ 8 & 2 & -8 \\ \end{matrix} \right]A=⎣⎡258222−2−5−8⎦⎤
Matlab imfilter函数相关推荐
- matlab imfilter函数,Matlab的imfilter函数用法详解
Matlab的imfilter函数用法 功能:对任意类型数组或多维图像进行滤波. 用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,...) ...
- matlab imfilter函数,Matlab中imfilter()函数的用法
Matlab中imfilter()函数的用法 功能:对任意类型数组或多维图像进行滤波. 用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,.. ...
- matlab imfilter函数图像(二维) opencv C++实现
g = imfilter(f, w, filtering_mode, boundary_options, size_options) 默认是相关操作,填充为0,大小形同'same' 即如下效果相同 m ...
- 使用OpenCV中的filter2D函数精确实现matlab中的imfilter函数(已测)
转载请注明出处:http://blog.csdn.net/hust_sheng/article/details/79313503 背景 最近复现别人算法的时候,遇到了matlab中的imfilter转 ...
- Matlab中fspecial函数 和imfilter函数的用法
fspecial函数用于建立预定义的滤波算子,其语法格式为: h = fspecial(type) h = fspecial(type,para) 其中type指定算子的类型,para指定相应的参数: ...
- matlab stem函数坐标轴_MATLAB中stem函数用法
stem(Y) 将数据序列Y从x轴到数据值按照茎状形式画出,以圆圈终止.如果Y是一个矩阵,则将其每一列按照分隔方式画出. stem(X,Y)在X的指定点处画出数据序列Y. stem(...,'fil ...
- 图像滤波函数imfilter函数的应用及其扩展
一)认识imfilter函数 imfilter函数叫做实现线性空间滤波函数,主要功能可以实现多维数组的滤波,在图像领域就是对图像进行滤波. 滤波是一个统一的概念,在图像领域,图像的去除噪声点,图像提取 ...
- imfilter函数详解
[matlab函数描述] 功能:对任意类型数组或多维图像进行滤波. 用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,-) 或写作g = im ...
- matlab imfilter与fft,Matlab图像处理图像平滑与滤波
<Matlab图像处理图像平滑与滤波>由会员分享,可在线阅读,更多相关<Matlab图像处理图像平滑与滤波(7页珍藏版)>请在技术文库上搜索. 1.交换位置,对于矩阵 X,将其 ...
- matlab matlabpool,Matlab matlabpool函数undefined
我尝试使用matlab并行计算功能. 我先输入"版本"来检查,如果我已经安装了并行计算工具箱,它确实Matlab matlabpool函数undefined >> ve ...
最新文章
- 实验报告三c语言,C语言实验报告三
- Unity编辑器扩展Texture显示选择框
- python_atp框架
- Vue中的 computed 和 watch的区别
- 数据库冷备份和热备份
- 基于错误的sql注入
- 【历史上的今天】8 月 18 日:硅谷神话惠普的衰落
- 《Oracle数据库管理与维护实战》——1.2 Oracle各版本异同
- MySQL数据库(五)
- NTP、PTP时间同步服务器(时钟系统)
- 基于multisim14的函数信号发生器仿真
- FU-A STAP-A
- Java项目:Springboot校园报修管理系统
- 将Wi-Fi生成二维码
- 雷神战争中简单megetexture地图制作
- Anaconda中pkgs文件夹详解
- 2020腾讯广告算法大赛
- @Transactional 使用说明
- 二维数组vector 限定大小
- CDH5.15.0+spark1.6.0+hive1.1集群与zeppelin0.8.1+spark-notebook打通踩坑总结