exponenta event banner

imclearborder

Подавление световых структур, связанных с границей изображения

Описание

пример

J = imclearborder(I) подавляет структуры в изображении I более светлые, чем их окружение, и подключенные к границе изображения. Эта функция используется для очистки границы изображения. Для изображений в оттенках серого imclearborder имеет тенденцию к снижению общего уровня интенсивности в дополнение к подавлению пограничных структур. Выходное изображение, J, в градациях серого или двоичных, в зависимости от входных данных.

пример

J = imclearborder(I,conn) определяет связь пикселей, conn.

Примеры

свернуть все

Создайте простое двоичное изображение.

BW = [0     0     0     0     0     0     0     0     0
      0     0     0     0     0     0     0     0     0
      0     0     0     0     0     0     0     0     0
      1     0     0     1     1     1     0     0     0
      0     1     0     1     1     1     0     0     0
      0     0     0     1     1     1     0     0     0
      0     0     0     0     0     0     0     0     0
      0     0     0     0     0     0     0     0     0
      0     0     0     0     0     0     0     0     0];

Очистить пикселы на границе изображения с помощью 4-связности. Обратите внимание, что imclearborder не очищает пиксель в (5,2), поскольку при 4-связности он не считается подключенным к пограничному пикселю в (4,1).

BWc1 = imclearborder(BW,4)
BWc1 = 9×9

     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0
     0     0     0     1     1     1     0     0     0
     0     1     0     1     1     1     0     0     0
     0     0     0     1     1     1     0     0     0
     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0

Теперь очистите пикселы на границе изображения с помощью 8-связности. imclearborder очищает пиксель в (5,2), поскольку при 8-связности он считается соединенным с пограничным пикселем (4,1).

BWc2 = imclearborder(BW,8)
BWc2 = 9×9

     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0
     0     0     0     1     1     1     0     0     0
     0     0     0     1     1     1     0     0     0
     0     0     0     1     1     1     0     0     0
     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0

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

свернуть все

Градации серого или двоичное изображение, указанное как числовой или логический массив.

Пример: I = imread('pout.tif');

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

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

Стоимость

Значение

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

4-подключенные

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

8-подключенных

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

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

6-подключенных

Пиксели соединяются, если их лица соприкасаются. Окрестностью пикселя являются соседние пиксели в:

  • Одно из этих направлений: внутрь, наружу, влево, вправо, вверх и вниз

18-подключенных

Пикселы соединяются, если их грани или края соприкасаются. Окрестностью пикселя являются соседние пиксели в:

  • Одно из этих направлений: внутрь, наружу, влево, вправо, вверх и вниз

  • Комбинация двух направлений, например, вправо вниз или вверх

26-подключенных

Пикселы соединяются, если их грани, края или углы соприкасаются. Окрестностью пикселя являются соседние пиксели в:

  • Одно из этих направлений: внутрь, наружу, влево, вправо, вверх и вниз

  • Комбинация двух направлений, например, вправо вниз или вверх

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

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

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

Примечание

Пиксель на краю входного изображения может не рассматриваться как граничный пиксель, если задано соединение по умолчанию. Например, если conn = [0 0 0; 1 1 1; 0 0 0]элементы в первой и последней строках не считаются пограничными пикселями, поскольку в соответствии с этим определением связности они не связаны с областью вне изображения.

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

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

свернуть все

Обработанное изображение в градациях серого или двоичное изображение, возвращаемое в виде числового или логического массива, в зависимости от указанного входного изображения.

Алгоритмы

imclearborder использует морфологическую реконструкцию, где:

  • Маска - это входное изображение.

  • Изображение маркера равно нулю везде, за исключением границы, где оно равно изображению маски.

Ссылки

[1] Soille, P., Morphological Image Analysis: Principles and Applications, Springer, 1999, pp. 164-165.

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

.

См. также

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