主要内容

modefilt

2 d和3 d模式过滤

描述

例子

B= modefilt (一个)对二维图像或执行模式过滤3 d体积一个。每个输出像素的B包含模式(最常发生价值)中相应的像素周围的邻居一个。如果一个是二维的,modefilt3×3的模式使用一个过滤器。如果一个是三维,modefilt使用一个3-by-3-by-3模式过滤器。modefilt一个通过镜像边界元素。

模式过滤可以用于处理分类数据,其他类型的过滤,如中值滤波,并不是可用的。

B= modefilt (一个,filtsize)还指定了过滤器的大小。filtsize是一个向量的积极,奇数。当一个是二维,指定filtsize作为一个1×2向量。当一个是3 d的,指定filtsize作为一个1×3向量。

B= modefilt (___,padopt)还指定了如何modefilt垫数组边界。

例子

全部折叠

加载一个图像(img)和相应的分类标签版本的图像(标签)到工作区中。

负载buildingPixelLabeled;

查看原始图像,img

imshow (img)

图包含一个轴。轴包含一个类型的对象的图像。

查看分类标记图像,标签。分类的图像标签四个不同类别:天空,草,建筑,和人行道上。查看,这些类别转换为颜色使用label2rgb函数。

imshow (label2rgb(标签)

图包含一个轴。轴包含一个类型的对象的图像。

执行模式分类标签图像过滤,标签,使用默认的过滤器尺寸和填充方法。

b = modefilt(标签);

查看过滤分类标记图像,b。在过滤后的图像,更明显的标记之间的边缘地区。

图imshow (label2rgb (b));

图包含一个轴。轴包含一个类型的对象的图像。

阅读标签卷的核磁共振。体积是存储在工作区中变量标签

负载(fullfile (toolboxdir (“图片”),“imdata”,“BrainMRILabeled”,“标签”,“label_001.mat”));

显示标签体积。为了清楚起见,添加一个标题显示。

ViewPnl = uipanel(图,“标题”,“标签卷”);labelvolshow(标签,“父”,ViewPnl);

执行模式过滤标签卷,指定过滤器的大小。

labelOut = modefilt(标签,(5 5 5));

显示过滤标签体积。为了清楚起见,添加一个标题显示。

ViewPnlFiltered = uipanel(图,“标题”,“模式过滤标签卷”);labelvolshow (labelOut“父”,ViewPnlFiltered);

输入参数

全部折叠

二维图像或三维体积,指定分类,逻辑或数字数组。

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

过滤器的大小,指定为一个向量的积极的奇数。对于二维图像,指定一个向量的形式(高度宽度)。默认为二维图像[3 3]。对于3 d卷,指定一个向量的形式(高度宽度深度)。默认为3 d卷(3 3 3)

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

填充方法,指定为以下值之一。

价值 描述
“对称” 垫数组本身的镜面反射。
“复制” 垫数组边界通过重复元素。
“零” 板阵列0数值数据或年代<定义>分类数据的年代。

例子:labelOut = modefilt(标签,“复制”);

数据类型:字符|字符串

输出参数

全部折叠

过滤图像或体积,作为数字数组返回相同的大小和类图像作为输入一个

提示

  • 当附近有超过一个像素在并列模式值,函数使用以下打破僵局的算法:

    • 如果中心像素值模式之一领带,函数使用这个值。

    • 如果中心像素不是一个模式值的领带,函数使用模式与最小的数值。

    • 分类输入,功能选择第一类(类别中并列模式)出现在返回的列表类别(A)

  • modefilt随着3 d量将RGB图像。channel-wise RGB图像的过滤,指定filtsize作为(3 3 1),在这段代码中:b = modefilt (a, [3 3 1]);

扩展功能

介绍了R2020a