Main Content

bwarea

二值图像中对象的面积

说明

示例

total = bwarea(BW) 估计二值图像 BW 中对象的面积。total 是标量,其值大致对应于图像中 on 像素的总数,但可能不完全相同,因为不同像素图案的加权不同。

示例

全部折叠

读取二值图像并显示它。

BW = imread('circles.png');
imshow(BW)

计算图像中对象的面积。

bwarea(BW)
ans = 1.4187e+04

输入参数

全部折叠

二值图像,指定为二维数值或逻辑矩阵。对于数值输入,任何非零像素都被视为 1 (true)。

示例: BW = imread('text.png'); L = bwlabel(BW);

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

输出参量

全部折叠

二值图像 BWon 像素的估计数量,以数值标量形式返回。

数据类型: double

算法

bwarea 通过对图像中每个像素的面积求和来估计图像中所有 on 像素的面积。单个像素的面积是通过观察其 2×2 邻域来确定的。有六种不同的情形,每种情形表示一个不同面积:

  • 具有零个 on 像素的情形(面积 = 0)

  • 具有一个 on 像素的情形(面积 = 1/4)

  • 具有两个相邻 on 像素的情形(面积 = 1/2)

  • 具有两个对角 on 像素的情形(面积 = 3/4)

  • 具有三个 on 像素的情形(面积 = 7/8)

  • 具有所有四个 on 像素的情形(面积 = 1)

每个像素是四个不同 2×2 邻域的一部分。例如,被 off 像素包围的单个 on 像素的总面积为 1。

参考

[1] Pratt, William K., Digital Image Processing, New York, John Wiley & Sons, Inc., 1991, p. 634.

版本历史记录

在 R2006a 之前推出

另请参阅

| |