bwareaopen

Удалите маленькие объекты из бинарного изображения

Описание

пример

BW2 = bwareaopen(BW,P) удаляет все связанные компоненты (объекты), которые имеют меньше P пиксели из бинарного изображения BW, создание другого бинарного изображения, BW2. Эта операция известна как area opening.

BW2 = bwareaopen(BW,P,conn) удаляет все подключенные компоненты, где conn задает необходимую связность.

Примеры

свернуть все

Чтение бинарного изображения.

BW = imread('text.png');

Удалите объекты, содержащие менее 50 пикселей, используя bwareaopen функция.

BW2 = bwareaopen(BW, 50);

Отобразите оригинальное изображение рядом с морфологически открытым изображением.

imshowpair(BW,BW2,'montage')

Figure contains an axes. The axes contains an object of type image.

Входные параметры

свернуть все

Бинарное изображение, заданное как логический или числовой массив любой размерности.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Максимальное количество пикселей в объектах, заданное как неотрицательное целое число.

Пример: 50

Типы данных: double

Пиксельная связность, заданная как одно из значений в этой таблице. Связность по умолчанию 8 для 2-D изображений и 26 для 3-D изображений.

Значение

Значение

Двумерные связи

4-соединенный

Пиксели соединяются, если их ребра касаются. Два смежных пикселя являются частью одного и того же объекта, если они оба включены и соединены в горизонтальном или вертикальном направлении.

8-соединенный

Пиксели соединяются, если их ребра или углы касаются. Два смежных пикселя являются частью одного и того же объекта, если они оба включены и соединены в горизонтальном, вертикальном или диагональном направлении.

Трехмерные связи

6-соединенный

Пиксели соединяются, если их лица касаются. Два смежных пикселя являются частью одного и того же объекта, если они оба включены и соединены в:

  • Одно из следующих направлений: в, вне, слева, справа, вверх и вниз

18-соединенный

Пиксели соединяются, если их грани или ребра касаются. Два смежных пикселя являются частью одного и того же объекта, если они оба включены и соединены в

  • Одно из следующих направлений: в, вне, слева, справа, вверх и вниз

  • Комбинация двух направлений, таких как right-down или in-up

26-соединенный

Пиксели соединяются, если их грани, ребра или углы касаются. Два смежных пикселя являются частью одного и того же объекта, если они оба включены и соединены в

  • Одно из следующих направлений: в, вне, слева, справа, вверх и вниз

  • Комбинация двух направлений, таких как right-down или in-up

  • Комбинация трех направлений, таких как справа вверх или слева вниз

Для более высоких размерностей, bwareaopen использует значение по умолчанию conndef(ndims (BW), 'maximal').

Связь также может быть определена более общим образом для любой размерности путем определения 3х3-бай-... -by-3 матрица 0s и 1с. The 1-значенные элементы определяют местоположения окрестностей относительно центрального элемента conn. Обратите внимание, что conn должно быть симметричным относительно его центрального элемента. Дополнительные сведения см. в разделе «Определение пользовательских соединений».

Типы данных: double | logical

Выходные аргументы

свернуть все

Изображение с открытой областью, возвращенное как логический массив того же размера, что и BW.

Алгоритмы

Основные шаги:

  1. Определите подключенные компоненты:

    CC = bwconncomp(BW, conn);
  2. Вычислите площадь каждого компонента:

    S = regionprops(CC, 'Area');
  3. Удалите небольшие объекты:

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

Расширенные возможности

..

См. также

|

Представлено до R2006a