Региональные минимумы
BW = imregionalmin(I)
BW = imregionalmin(I,conn)
возвращает двухуровневое изображение BW
= imregionalmin(I
)BW
, который идентифицирует региональные минимумы в полутоновом изображении I
. Региональные минимумы являются соединенными компонентами пикселей с постоянным значением интенсивности, окруженным пикселями нижним значением.
Опционально можно идентифицировать региональные минимумы 2D изображений с помощью графического процессора (требует Parallel Computing Toolbox™). Для получения дополнительной информации смотрите Обработку изображений на графическом процессоре.
Создайте массив простой выборки с несколькими региональными минимумами.
A = 10*ones(10,10); A(2:4,2:4) = 3; A(6:8,6:8) = 8
A = 10×10
10 10 10 10 10 10 10 10 10 10
10 3 3 3 10 10 10 10 10 10
10 3 3 3 10 10 10 10 10 10
10 3 3 3 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 8 8 8 10 10
10 10 10 10 10 8 8 8 10 10
10 10 10 10 10 8 8 8 10 10
10 10 10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10 10 10
Вычислите региональные минимумы. Функция возвращает двухуровневое изображение, тот же размер как входное изображение, в которых пикселях со значением 1
представляют региональные минимумы. imregionalmin
устанавливает все другие пиксели в на 0
.
regmin = imregionalmin(A)
regmin = 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 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 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) = 3; % minima 3 lower than surround A(6:8,6:8) = 8 % minima 8 lower than surroundA(6:8,6:8) = 7;
A = 10 10 10 10 10 10 10 10 10 10 10 3 3 3 10 10 10 10 10 10 10 3 3 3 10 10 10 10 10 10 10 3 3 3 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 8 8 8 10 10 10 10 10 10 10 8 8 8 10 10 10 10 10 10 10 8 8 8 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
Передайте демонстрационное изображение A
imregionalmin
. Функция возвращает двухуровневое изображение, тот же размер как A
, в которых пикселях со значением 1
представляют региональные минимумы в A
. imregionalmin
устанавливает все другие пиксели в на 0
.
regmin = imregionalmin(A)
regmin = 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 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
Входной массив, заданный как числовой массив любой размерности.
Чтобы вычислить региональные минимумы с помощью графического процессора, задайте I
как gpuArray
, который содержит 2D числовую матрицу.
Пример: I = imread('cameraman.tif');
Пример: I = gpuArray(imread('cameraman.tif'));
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический
conn
— Пиксельная возможность соединения4
| 8
| 6
| 18
| 26
| 3-by-3-by-... Матрица-by-3 0
s и 1
sПиксельная возможность соединения, заданная как одно из значений в этой таблице. Возможностью соединения по умолчанию является 8
для 2D изображений и 26
для 3-D изображений.
Значение | Значение | |
---|---|---|
Двумерные возможности соединения | ||
4 | Пиксели соединяются, если их ребра затрагивают. Окружение пикселя является смежными пикселями в горизонтальном или вертикальном направлении. | |
8 | Пиксели соединяются, если их ребра или углы затрагивают. Окружение пикселя является смежными пикселями в горизонтали, вертикальным, или диагональным направлением. | |
3D возможности соединения | ||
6 | Пиксели соединяются, если их поверхности затрагивают. Окружение пикселя является смежными пикселями в:
| |
18 | Пиксели соединяются, если их поверхности или ребра затрагивают. Окружение пикселя является смежными пикселями в:
| |
26 | Пиксели соединяются, если их поверхности, ребра или углы затрагивают. Окружение пикселя является смежными пикселями в:
|
Для более высоких размерностей imregionalmin
использует значение по умолчанию 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
BW
— Местоположения региональных минимумовgpuArray
Местоположения региональных минимумов, возвращенных как логический массив, одного размера как I
. Пиксели со значением 1
указывают на региональные максимумы; все другие пиксели установлены в 0
.
Если региональные минимумы вычисляются с помощью графического процессора, то BW
возвращен как gpuArray
, который содержит логическую матрицу, одного размера как I
.
Типы данных: логический
Указания и ограничения по применению:
imregionalmin
поддерживает генерацию кода С (требует MATLAB® Coder™). Обратите внимание на то, что, если вы выбираете типичную целевую платформу MATLAB Host Computer
, imregionalmin
генерирует код, который пользуется предварительно скомпилированной, специфичной для платформы разделяемой библиотекой. Использование разделяемой библиотеки сохраняет оптимизацию производительности, но ограничивает целевые платформы, для которых может быть сгенерирован код. Для получения дополнительной информации смотрите, что Генерация кода пользуется Разделяемой Библиотекой.
При генерации кода дополнительный второй входной параметр, conn
, должен быть постоянным временем компиляции.
Указания и ограничения по применению:
Входные параметры должны быть 2D, поддержав только 2D возможности соединения (4 и 8).
Для получения дополнительной информации смотрите Обработку изображений на графическом процессоре.
conndef
| imextendedmin
| imhmin
| imimposemin
| imreconstruct
| imregionalmax
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.