文档

ordfilt2

二维有序统计滤波

语法

B = ordfilt2(A,order,domain)
B = ordfilt2(A,order,domain,S)
B = ordfilt2(___padopt)

描述

例子

B= ordfilt2 (一个订单替换中的每个元素一个订单中的非零元素指定的已排序邻居集中的第Th元素

B= ordfilt2 (一个订单年代过滤器一个,在那里ordfilt2使用的值年代对应于的非零值作为附加补偿。您可以使用此语法来实现灰度形态操作,包括灰度膨胀和侵蚀。

B= ordfilt2 (___padopt过滤器一个,在那里padopt指定如何ordfilt2填充矩阵边界。

例子

全部折叠

读取图像到工作区并显示它。

A = imread(“snowflakes.png”);图imshow(一个)

过滤图像并显示结果。

B = ordfilt2(A,25,true(5));图imshow (B)

输入参数

全部折叠

输入矩阵,指定为二维、实数、非稀疏、数值或逻辑数组。

例子:A = imread('雪花。png');

数据类型:||int8|int16|int32|uint8|uint16|uint32|逻辑

元素替换目标像素,指定为实标量整数。

例子:B = ordfilt2(A,25,true(5));

数据类型:

邻域,指定为数字或逻辑矩阵,包含1和0。等价于用于二值图像操作的结构元素。值为1的元素定义过滤操作的邻域。下表给出了一些常用过滤器的示例。

过滤操作类型 MATLAB代码 社区 样本图像数据,表示所选元素
中值滤波器 B = ordfilt2(A,5,ones(3,3))
最小的滤波器 B = ordfilt2(A,1,ones(3,3))
最大的过滤器 B = ordfilt2(A,9,ones(3,3))
最小的北,东,南,西邻居 B = ordfilt2(A,1,[0 1 0;1 0 1;0 10 0])

例子:B = ordfilt2(A,25,true(5));

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

附加偏移量,指定为与之大小相同的矩阵

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

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

选项 描述
“零” Pad数组边界0的年代。
“对称”

带有自身镜像的衬垫阵列。

数据类型:字符|字符串

输出参数

全部折叠

输出图像,作为与输入图像同类的2-D数组返回一个

提示

  • 当处理不包含任何零值元素的大型定义域矩阵时,ordfilt2能实现更高的性能如果一个为整数数据格式(uint8int8uint16int16).速度的增益更大uint8而且int8而不是16位数据类型。对于8位数据格式,域矩阵必须包含7行或更多行。对于16位数据格式,域矩阵必须包含3行或更多行和520个或更多元素。

参考文献

Haralick, Robert M.和Linda G. Shapiro,计算机和机器人视觉,卷一,Addison-Wesley, 1992。

[2]黄,t.s.,杨桂杰,唐志勇。“一种快速二维中值滤波算法”,《IEEE声学、语音和信号处理汇刊》,第27卷第1期,1979年2月

扩展功能

另请参阅

R2006a之前介绍

这个话题有用吗?