bwareaopen

Remove small objects from binary image

Syntax

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

Description

BW2 = bwareaopen(BW, P) removes
from a binary image all connected components (objects) that have fewer
than P pixels, producing another binary image, BW2.
This operation is known as an area opening. The default connectivity
is 8 for two dimensions, 26 for three dimensions, and conndef(ndims(BW),
'maximal') for higher dimensions.

BW2 = bwareaopen(BW, P, conn) specifies
the desired connectivity. conn can have any of
the following scalar values.

Value

Meaning

Two-dimensional
connectivities

4

4-connected neighborhood

8

8-connected neighborhood

Three-dimensional
connectivities

6

6-connected neighborhood

18

18-connected neighborhood

26

26-connected neighborhood

Connectivity can be defined in a more general way for any dimension
by using for conn a 3-by-3-by-...-by-3 matrix of 0s
and 1s. The 1-valued elements
define neighborhood locations relative to the central element of conn.
Note that conn must be symmetric about its central
element.

Class Support

BW can be a logical or numeric array of any
dimension, and it must be nonsparse. The return value BW2 is
of class logical.

Examples

Remove all objects in the image text.png containing
fewer than 50 pixels: