Наложите минимумы
В этом примере показано, как изменить изображение так, чтобы одной областью всегда был региональный минимум.
Считайте изображение и отобразите его. Это изображение называется рисунком маски.
mask = imread('glass.png');
imshow(mask)
Создайте бинарное изображение, которое одного размера с рисунком маски и устанавливает небольшую площадь бинарного изображения к 1. Эти пиксели задают местоположение в рисунке маски, где региональный минимум будет наложен. Получившееся изображение называется изображением маркера.
marker = false(size(mask)); marker(65:70,65:70) = true;
Наложите маркер на маску, чтобы показать, где эти пиксели интереса падают на оригинальное изображение. Небольшой белый квадрат отмечает пятно. Этот код не важен для наложить операции минимумов.
J = mask;
J(marker) = 255;
figure
imshow(J)
title('Marker Image Superimposed on Mask')
Наложите региональный минимум на входное изображение с помощью imimposemin функция. Отметьте, как все темные области оригинального изображения, кроме отмеченной области, легче.
K = imimposemin(mask,marker); figure imshow(K)

Чтобы проиллюстрировать, как эта операция удаляет все минимумы в оригинальном изображении кроме наложенного минимума, сравните региональные минимумы в оригинальном изображении с региональным минимумом в обработанном изображении. Эти вызовы imregionalmin возвратите бинарные изображения, которые задают местоположения всех региональных минимумов в обоих изображениях.
BW = imregionalmin(mask); figure subplot(1,2,1) imshow(BW) title('Regional Minima in Original Image') BW2 = imregionalmin(K); subplot(1,2,2) imshow(BW2) title('Regional Minima After Processing')

I — Полутоновый рисунок маскиПолутоновый рисунок маски в виде числового массива любой размерности.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
BW — Бинарное изображение маркераБинарное изображение маркера в виде числового или логического массива одного размера с полутоновым рисунком маски I. Для числового входа любые ненулевые пиксели считаются 1 TRUE).
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
conn — Пиксельная возможность соединения| 8 | 6 | 18 | 26 | 3-by-3-by-... Матрица-by-3 0s и 1sПиксельная возможность соединения в виде одного из значений в этой таблице. Возможностью соединения по умолчанию является 8 для 2D изображений и 26 для 3-D изображений.
Значение | Значение | |
|---|---|---|
Двумерные возможности соединения | ||
4 | Пиксели соединяются, если их ребра затрагивают. Окружение пикселя является смежными пикселями в горизонтальном или вертикальном направлении. |
|
8 | Пиксели соединяются, если их ребра или углы затрагивают. Окружение пикселя является смежными пикселями в горизонтали, вертикальным, или диагональным направлением. |
|
3D возможности соединения | ||
6 | Пиксели соединяются, если их поверхности затрагивают. Окружение пикселя является смежными пикселями в:
|
|
18 | Пиксели соединяются, если их поверхности или ребра затрагивают. Окружение пикселя является смежными пикселями в:
|
|
26 | Пиксели соединяются, если их поверхности, ребра или углы затрагивают. Окружение пикселя является смежными пикселями в:
|
|
Для более высоких размерностей, imimposemin использует значение по умолчанию .conndef(ndims (I), 'максимальный')
Возможность соединения может также быть задана более общим способом к любой размерности путем определения 3-by-3-by-... Матрица-by-3 0s и 1s. 1- ценные элементы задают местоположения окружения относительно центрального элемента conn. Обратите внимание на то, что conn должно быть симметричным о его центральном элементе. Смотрите Задающие Пользовательские Возможности соединения для получения дополнительной информации.
Типы данных: double | logical
J — Восстановленное изображениеВосстановленное изображение, возвращенное как числовой или логический массив, одного размера и тип данных как I.
imimposemin использует метод на основе морфологической реконструкции.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.