imclearborder

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

Синтаксис

J = imclearborder(I)
J = imclearborder(I,conn)

Описание

пример

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 для 2D изображений и 26 для 3-D изображений.

Значение

Значение

Двумерные возможности соединения

4

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

8

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

3D возможности соединения

6

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

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

18

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

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

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

26

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

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

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

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

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

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

Примечание

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

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

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

свернуть все

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

Алгоритмы

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

  • Рисунок маски является входным изображением.

  • Изображение маркера является нулем везде кроме вдоль границы, где это равняется рисунку маски.

Ссылки

[1] Soille, P., Морфологический Анализ изображения: Принципы и Приложения, Спрингер, 1999, стр 164-165.

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

Смотрите также

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