文档

bwareaopen

从二值图像中移除小物体

语法

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

描述

例子

BW2= bwareaopen (BWP删除小于的所有已连接组件(对象)P二值图像中的像素BW,产生另一个二值图像,BW2.默认连通性为二维8,三维26,以及conndef (ndims (BW),“最大”)对于高维。这个操作被称为区域开放

BW2 = bwareaopen(BWP康涅狄格州删除所有连接的组件,其中康涅狄格州指定所需的连通性。

例子

全部折叠

读取二值图像。

BW = imread(“text.png”);

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

BW2 = bwareaopen(BW, 50);

显示原始图像旁边的形态打开图像。

BW2 imshowpair (BW,“蒙太奇”

输入参数

全部折叠

二值图像,指定为任意维的非稀疏、逻辑或数值数组。

例子:BW2 = bwareaopen(BW, 50);

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

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

例子:BW2 = bwareaopen(BW, 50);

数据类型:

连接性,指定为以下数字标量之一:

价值

意义

二维的连接性

4

四连接社区

8

8-connected附近

三维的连接性

6

6-connected附近

18

18-connected附近

26

26-connected附近

连通性也可以用更通用的方式为任何维度定义,方法是指定一个3-by-3-…的-乘3矩阵0年代和1年代。1值元素定义相对于的中心元素的邻域位置康涅狄格州.请注意,康涅狄格州必须与中心元素对称。

例子:BW2 = bwareaopen(BW, 50,4);

数据类型:|逻辑

输出参数

全部折叠

已以形态打开的图像,指定为大小相同的非稀疏逻辑数组BW

算法

基本步骤如下

  1. 确定连接的组件:

    CC = bwconncomp(BW, conn);
  2. 计算每个构件的面积:

    S = regionprops(CC, 'Area');
  3. 移除小物件:

    L = labelmatrix(CC);BW2 = ismember(L, find([S;面积]>= P));

扩展功能

另请参阅

|

R2006a之前介绍

这个话题有用吗?