imregionalmax

Региональные максимумы

Синтаксис

BW = imregionalmax(I)
BW = imregionalmax(I,conn)

Описание

пример

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

Опционально можно идентифицировать региональные максимумы 2D изображений с помощью графического процессора (требует Parallel Computing Toolbox™). Для получения дополнительной информации смотрите Обработку изображений на графическом процессоре.

BW = imregionalmax(I,conn) задает пиксельную возможность соединения, conn.

Примеры

свернуть все

Создайте изображение простой выборки с несколькими региональными максимумами.

A = 10*ones(10,10);
A(2:4,2:4) = 22; 
A(6:8,6:8) = 33; 
A(2,7) = 44;
A(3,8) = 45;
A(4,9) = 44
A = 10×10

    10    10    10    10    10    10    10    10    10    10
    10    22    22    22    10    10    44    10    10    10
    10    22    22    22    10    10    10    45    10    10
    10    22    22    22    10    10    10    10    44    10
    10    10    10    10    10    10    10    10    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    10    10    10    10    10
    10    10    10    10    10    10    10    10    10    10

Найдите региональные максимумы. Обратите внимание на то, что результат включает региональные максимумы в (3,8).

regmax = imregionalmax(A)
regmax = 10x10 logical array

   0   0   0   0   0   0   0   0   0   0
   0   1   1   1   0   0   0   0   0   0
   0   1   1   1   0   0   0   1   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   1   1   1   0   0
   0   0   0   0   0   1   1   1   0   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

Создайте 10 10 пиксельное демонстрационное изображение, которое содержит два региональных максимума.

A = 10*gpuArray(ones(10,10));
A(2:4,2:4) = 22;    % maxima 12 higher than surrounding pixels
A(6:8,6:8) = 33;    % maxima 23 higher than surrounding pixels
A(2,7) = 44;
A(3,8) = 45;     % maxima 1 higher than surrounding pixels
A(4,9) = 44
A =

    10    10    10    10    10    10    10    10    10    10
    10    22    22    22    10    10    44    10    10    10
    10    22    22    22    10    10    10    45    10    10
    10    22    22    22    10    10    10    10    44    10
    10    10    10    10    10    10    10    10    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    33    33    33    10    10
    10    10    10    10    10    10    10    10    10    10
    10    10    10    10    10    10    10    10    10    10

Передайте демонстрационное изображение A imregionalmax. Функция возвращает двухуровневое изображение, тот же размер как A, в которых пикселях со значением 1 представляют региональные максимумы в A. imregionalmax устанавливает все другие пиксели в на 0.

regmax = imregionalmax(A)
regmax =

     0     0     0     0     0     0     0     0     0     0
     0     1     1     1     0     0     0     0     0     0
     0     1     1     1     0     0     0     1     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     1     1     1     0     0
     0     0     0     0     0     1     1     1     0     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

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

свернуть все

Входной массив, заданный как числовой массив любой размерности.

Чтобы вычислить региональные максимумы с помощью графического процессора, задайте I как gpuArray, который содержит 2D числовую матрицу.

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

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

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

Значение

Значение

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

4

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

8

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

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

6

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

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

18

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

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

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

26

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

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

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

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

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

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

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

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

свернуть все

Местоположения региональных максимумов, возвращенных как логический массив, одного размера как I. Пиксели со значением 1 указывают на региональные максимумы; все другие пиксели установлены в 0.

Если региональные максимумы вычисляются с помощью графического процессора, то BW возвращен как gpuArray, который содержит логическую матрицу, одного размера как I.

Типы данных: логический

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

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

| | | |

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