主要内容

bwareaopen

从二值图像中去除小物体

描述

例子

BW2= bwareaopen (BWP移除所有连接的组件(对象)P二值图像中的像素BW,生成另一个二值图像,BW2.这个操作被称为区域开放

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

例子

全部折叠

读二进制图像。

BW = imread (“text.png”);

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

BW2 = bwareaopen(BW, 50);

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

BW2 imshowpair (BW,“蒙太奇”

图中包含一个axes对象。坐标轴对象包含一个image类型的对象。

输入参数

全部折叠

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

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

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

例子:50

数据类型:

像素连接性,指定为此表中的值之一。默认的连通性为8对于二维图像,和263 d图像。

价值

意义

二维的连接性

4

如果像素的边缘接触,则它们被连接起来。如果两个相邻像素都是打开的,并且沿着水平或垂直方向连接,那么它们就是同一对象的一部分。

中心像素连接到四个像素

当前像素显示为灰色。

8

如果像素的边或角接触,则它们是连接的。如果两个相邻的像素都是打开的,并且沿着水平、垂直或对角线方向连接,那么它们就是同一对象的一部分。

中心像素连接到八个像素

当前像素显示为灰色。

三维的连接性

6

如果它们的脸接触,像素就会连接起来。如果两个相邻的像素都是on的,并且都是in连接的,那么它们就是同一个对象的一部分:

  • 这些方向之一:进,出,左,右,上,下

中心像素连接到6个像素的面

当前像素是立方体的中心。

18

如果像素的面或边缘接触,则像素是连接的。如果两个相邻的像素都是on的,并且都是in连接的,那么它们就是同一个对象的一部分:

  • 这些方向之一:进,出,左,右,上,下

  • 两个方向的组合,如右向下或向上

中心像素连接6个像素的面和12个像素的边

当前像素是立方体的中心。

26

如果像素的面、边或角接触,则它们是连接的。如果两个相邻的像素都是on的,并且都是in连接的,那么它们就是同一个对象的一部分:

  • 这些方向之一:进,出,左,右,上,下

  • 两个方向的组合,如右向下或向上

  • 三个方向的组合,如右向上或左向下

中心像素连接6个像素的面,12个像素的边,8个像素的角

当前像素是立方体的中心。

更高的维度,bwareaopen使用默认值conndef(ndims (BW),“最大”)

通过指定3-by-…,连接性还可以以更通用的方式为任何维度定义。3的矩阵0年代和1年代。1的中心元素定义邻域位置康涅狄格州.请注意,康涅狄格州它的中心元素必须对称。看到指定自定义连接性为更多的信息。

数据类型:|逻辑

输出参数

全部折叠

区域打开的图像,作为相同大小的逻辑数组返回BW

算法

基本步骤如下

  1. 确定连接的组件:

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

    S = regionprops (CC、“区域”);
  3. 删除小对象:

    L = labelmatrix (CC);BW2 = ismember(L, find) [S;区)> = P));

扩展功能

版本历史

之前介绍过的R2006a

另请参阅

|

Baidu
map