2026a

# bwareaopen


从二值图像中删除小对象

函数库: TyImageProcessing

# 语法

BW2 = bwareaopen(BW,P)
BW2 = bwareaopen(BW,P,conn)

# 说明

BW2 = bwareaopen(BW,P) 从二值图像 BW 中删除少于 P 个像素的所有连通分量(对象),并生成另一个二值图像 BW2。此运算称为面积开运算。示例


BW2 = bwareaopen(BW,P,conn) 删除所有连通分量,其中,conn 指定所需的连通性。

# 示例

删除图像中包含的像素数少于 50 的对象

读取二值图像。

using TyImageProcessing
using TyPlot

BW = imread("text.png");

使用 bwareaopen 函数删除包含的像素数少于 50 的对象。

BW2 = bwareaopen(BW, 50);

并排显示原始图像和执行了形态学开运算的图像。

imshowpair(BW, BW2, "montage")

# 输入参数

BW — 二值图像
二维数值矩阵 | 二维逻辑矩阵

二值图像,指定为任意维度的逻辑或数值数组。

数据类型: Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64 | Bool

P — 对象的最大像素数
非负整数

对象的最大像素数,指定为非负整数。

数据类型: Int64

conn — 像素连通性
8 (默认) | 4

像素连通性,指定为下列值之一。

意义
4 如果像素的边缘相互接触,则这些像素具有连通性。如果两个相邻像素都为 on 并在水平或垂直方向上连通,则它们是同一对象的一部分。
8 如果像素的边缘或角相互接触,则这些像素具有连通性。如果两个相邻像素都为 on 并在水平、垂直或对角线方向上连通,则它们是同一对象的一部分。

数据类型: Int64

# 输出参数

BW2 — 面积开运算后的图像
数值矩阵

面积开运算后的图像,以与 BW 大小相同的逻辑数组形式返回。