bwareaopen
从二值图像中删除小对象
说明
示例
输入参数
BW
— 二值图像
逻辑数组 | 数值数组
二值图像,指定为任意维度的逻辑或数值数组。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
P
— 对象的最大像素数
非负整数
对象的最大像素数,指定为非负整数。
示例: 50
数据类型: double
conn
— 像素连通性
4
| 8
| 6
| 18
| 26
| 由 0
和 1
组成的 3×3×...×3 矩阵
像素连通性,指定为下表中的值之一。对于二维图像,默认连通性是 8
,对于三维图像,默认连通性是 26
。
值 | 意义 | |
---|---|---|
二维连通 | ||
| 如果像素的边缘相互接触,则这些像素具有连通性。如果两个相邻像素都为 on 并在水平或垂直方向上连通,则它们是同一对象的一部分。 |
当前像素以灰色显示。 |
| 如果像素的边缘或角相互接触,则这些像素具有连通性。如果两个相邻像素都为 on 并在水平、垂直或对角线方向上连通,则它们是同一对象的一部分。 |
当前像素以灰色显示。 |
三维连通 | ||
| 如果像素的面接触,则这些像素具有连通性。如果两个相邻像素都为 on 并以如下方式连通,则它们是同一对象的一部分:
|
当前像素是立方体的中心。 |
| 如果像素的面或边缘接触,则这些像素具有连通性。如果两个相邻像素都为 on 并以如下方式连通,则它们是同一对象的一部分:
|
当前像素是立方体的中心。 |
| 如果像素的面、边缘或角接触,则这些像素具有连通性。如果两个相邻像素都为 on 并以如下方式连通,则它们是同一对象的一部分:
|
当前像素是立方体的中心。 |
对于更高的维度,bwareaopen
使用默认值
。conndef
(ndims(BW),'maximal')
也可以通过指定由 0
和 1
组成的 3×3×...×3 矩阵,以更通用的方式来定义任意维度的连通性。值为 1
的元素定义相对于 conn
的中心元素的邻域位置。请注意,conn
必须关于其中心元素对称。有关详细信息,请参阅指定自定义连通性。
数据类型: double
| logical
算法
基本步骤如下
确定连通分量:
CC = bwconncomp(BW, conn);
计算每个分量的面积:
S = regionprops(CC, 'Area');
删除小对象:
L = labelmatrix(CC); BW2 = ismember(L, find([S.Area] >= P));
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
bwareaopen
支持 C 代码生成(需要 MATLAB® Coder™)。有关详细信息,请参阅图像处理的代码生成。BW
必须为二维二值图像。不支持 N 维数组。conn
只能是二维连通(4 或 8)或 3×3 矩阵。不支持三维连通(6、18 和 26)。不支持大小为 3×3×...×3 的矩阵。conn
必须为编译时常量。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
用法说明和限制:
BW
必须为二维二值图像。不支持 N 维数组。conn
必须为二维连通(4 或 8)或 3×3 矩阵。不支持三维连通(6、18 和 26)。不支持大小为 3×3×...×3 的矩阵。conn
必须为编译时常量。
版本历史记录
在 R2006a 之前推出
另请参阅
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)