MATLAB中medfilt3函数用法

目录

语法

说明

示例

使用中位数滤波去除三维数据中的离群值


        medfilt3函数的功能是三维中位数滤波。

语法

B = medfilt3(A)
B = medfilt3(A,[m n p])
B = medfilt3(___,padopt)

说明

B = medfilt3(A) 使用 3×3×3 滤波器对三维图像 A 进行滤波。默认情况下,medfilt3 通过在边界处以镜像方式复制值来填充图像。

B = medfilt3(A,[m n p]) 对三维图像 A 执行三维中位数滤波。B 中的每个输出体素包含 A 中对应体素周围 m×n×p 邻域的中位数值。

B = medfilt3(___,padopt) 控制 medfilt3 如何填充数组边界。

示例

使用中位数滤波去除三维数据中的离群值

        创建一个含噪三维曲面。

[x,y,z,V] = flow(50);
noisyV = V + 0.1*double(rand(size(V))>0.95) - 0.1*double(rand(size(V))<0.05);

        应用中位数滤波。

filteredV = medfilt3(noisyV);

        一起显示含噪曲面和滤波曲面。

subplot(1,2,1)
hpatch1 = patch(isosurface(x,y,z,noisyV,0));
isonormals(x,y,z,noisyV,hpatch1)
set(hpatch1,'FaceColor','red','EdgeColor','none')
daspect([1,4,4])
view([-65,20]) 
axis tight off
camlight left
lighting phong

subplot(1,2,2)
hpatch2 = patch(isosurface(x,y,z,filteredV,0));
isonormals(x,y,z,filteredV,hpatch2)
set(hpatch2,'FaceColor','red','EdgeColor','none')
daspect([1,4,4])
view([-65,20])
axis tight off
camlight left 
lighting phong

如图所示:

参数说明

A — 输入图像

        输入图像,指定为三维数值或逻辑数组。

[m n p] — 邻域大小

        邻域大小,指定为由正奇整数组成的三元素向量。

padopt — 填充选项

填充选项,指定为下列值之一:

描述
"symmetric"用自身的镜像翻转填充数组
"replicate"通过重复边框元素填充数组
"zeros"用 0 填充数组

B — 输出图像

        输出图像,以与输入图像 A 大小和数据类型相同的数值三维数组形式返回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值