Вычислить карту различий с помощью полуглобального сопоставления
вычисляет карту несоответствия из пары исправленных стереоизображений disparityMap = disparitySGM(I1,I2)I1 и I2, с использованием метода полуглобального сопоставления (SGM). Дополнительные сведения об исправлении стереоизображений см. в разделе Исправление изображений.
указывает параметры, использующие один или несколько аргументов пары имя-значение.disparityMap = disparitySGM(I1,I2,Name,Value)
Загрузите исправленное изображение стереопары.
I1 = imread('rectified_left.png'); I2 = imread('rectified_right.png');
Создайте стереоанаглиф выпрямленного изображения стереопары и выведите его на экран. Изображение можно просмотреть в 3-D с помощью красно-голубых стереоочков.
A = stereoAnaglyph(I1,I2);
figure
imshow(A)
title('Red-Cyan composite view of the rectified stereo pair image')
Преобразование исправленных входных цветных изображений в изображения в оттенках серого.
J1 = rgb2gray(I1); J2 = rgb2gray(I2);
Вычислите карту различий с помощью полуглобального сопоставления. Укажите диапазон различий как [0, 48] и минимальное значение уникальности как 20.
disparityRange = [0 48]; disparityMap = disparitySGM(J1,J2,'DisparityRange',disparityRange,'UniquenessThreshold',20);
Просмотрите карту несоответствий. Установите для диапазона отображения то же значение, что и для диапазона несоответствия.
figure imshow(disparityMap,disparityRange) title('Disparity Map') colormap jet colorbar

I1 - Входное изображение 1gpuArray объектВходное изображение, на которое ссылается I1 соответствие камере 1, определенный как 2-е изображение оттенков серого или a gpuArray (Панель параллельных вычислений). Функция использует это изображение в качестве опорного для вычисления карты несоответствия. Входные изображения I1 и I2 должно быть реальным, конечным и непроверенным. Также, I1 и I2 должны иметь одинаковый размер и одинаковый тип данных.
Типы данных: single | double | int16 | uint8 | uint16
I2 - Входное изображение 2gpuArray объектВходное изображение, на которое ссылается I2 соответствие камере 2, определенный как 2-е изображение оттенков серого или a gpuArray (Панель параллельных вычислений). Входные изображения I1 и I2 должно быть реальным, конечным и непроверенным. I1 и I2 должны иметь одинаковый размер и одинаковый тип данных.
Типы данных: single | double | int16 | uint8 | uint16
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
disparitySGM(I1,I2,'DisparityRange',[0 64])'DisparityRange' - Диапазон различий[0 128] (по умолчанию) | двухэлементный векторДиапазон различий, указанный как пара, разделенная запятыми, состоящая из 'DisparityRange' и двухэлементный вектор вида [MinDisparity
MaxDisparity]. MinDisparity - минимальное несоответствие, MaxDisparity - максимальное несоответствие.
Для входных изображений шириной N значения MinDisparity и MaxDisparity должны быть целыми числами в диапазоне (-N, N). Разница между значениями MaxDisparity и MinDisparity должна быть разделена на 8 и должна быть меньше или равна 128.
Значение по умолчанию для диапазона различий: [0 128]. Дополнительные сведения о выборе диапазона различий см. в разделе Выбор диапазона различий.
Типы данных: integers
'UniquenessThreshold' - Минимальное значение уникальности15 (по умолчанию) | неотрицательное целое числоМинимальное значение уникальности, указанное как разделенная запятыми пара, состоящая из 'UniquenessThreshold' и неотрицательное целое число.
Функция помечает оцененное значение K несоответствия для пикселя как ненадежное, если:
v < V × (1 + 0,01 ×UniquenessThreshold),
где V - расстояние Хэмминга, соответствующее значению рассогласования K. v - наименьшее значение расстояния Хэмминга во всем диапазоне рассогласования, исключая K, K-1 и K + 1.
Увеличение значения UniquenessThreshold приводит к тому, что значения несоответствия для большего числа пикселей помечаются как ненадежные. Чтобы отключить использование порога уникальности, установите это значение равным 0.
disparityMap - Карта несоответствияgpuArray объектКарта неравенства для исправленного изображения пары стерео, возвращенного как 2-е изображение оттенков серого или a gpuArray объект. Функция возвращает карту несоответствия с тем же размером, что и входные изображения I1 и I2. Каждое значение в этом выводе относится к смещению между сопряженными пикселями в изображении стереопары. Дополнительные сведения о вычислении карты несоответствий см. в разделе Вычисление карты несоответствий с помощью полуглобального сопоставления.
Типы данных: single
Входные изображения I1 и I2 необходимо исправить перед вычислением карты несоответствий. Исправление гарантирует, что соответствующие точки в изображении стереопары находятся в одних и тех же строках. Можно исправить изображение входной стереопары с помощью rectifyStereoImages функция. Эталонное изображение должно быть одинаковым для исправления и вычисления карты различий.
Диапазон различий должен быть выбран таким образом, чтобы охватить минимальную и максимальную величину горизонтального сдвига между соответствующими пикселями в выпрямленном изображении стереопары. Можно определить приблизительные значения горизонтального сдвига из стереоанаглифа изображения стереопары. Вычислите стереоанаглиф исправленных изображений с помощью stereoAnaglyph функция. Отображение стереоанаглифа в средстве просмотра изображений с помощью imtool функция. Чтобы измерить величину горизонтального сдвига между соответствующими точками на изображении стереопары, выберите команду «Измерить расстояние» в меню «Сервис» в окне «Просмотр изображений». Выберите минимальное и максимальное значения диспаратности для диапазона диспаратности на основе этого измерения.
Например, этот рисунок отображает стереоанаглиф выпрямленного изображения стереопары и значения горизонтального сдвига, измеренные между соответствующими точками в изображении стереопары. Минимальное и максимальное значения сдвига вычисляются как 8 и 31 соответственно. На основе этих значений диапазон различий может быть выбран как [0, 48].

Преобразование результатов переписи исправленного изображения стереопары.
Вычислить расстояние Хэмминга между пикселями в преобразованном переписью изображении для получения соответствующей матрицы затрат.
Вычислите пиксельное несоответствие из матрицы затрат сопоставления с помощью полуглобального метода сопоставления, приведенного в [1].
При необходимости отметьте пикселы для ненадежности на основе UniquenessThreshold пара имя-значение. Функция устанавливает значения несоответствия ненадежных пикселей на NaN.
[1] Хиршмуллер, Н. «Точная и эффективная стереообработка путем полуглобального согласования и взаимной информации». В материалах Конференции IEEE по компьютерному зрению и распознаванию образов (CVPR), стр. 807-814. Сан-Диего, Калифорния: IEEE, 2005.
Аргументы пары имя-значение, 'DisparityRange' и 'UniquenessThreshold' должны быть константами времени компиляции.
Поддерживает создание кода только в дженерик-программе MATLAB Host Computer целевая платформа.
Примечания и ограничения по использованию:
Входные изображения I1 и I2 должны быть исправлены, одного размера и одного типа данных.
Генерация кода графического процессора поддерживает 'UniquenessThreshold' и 'disparityMap' пары имя-значение.
Для очень больших входов требования к памяти алгоритма могут превышать пределы устройства GPU. В таких случаях следует рассмотреть возможность уменьшения размера входного сигнала для продолжения генерации кода.
Эта функция полностью поддерживает массивы графических процессоров. Дополнительные сведения см. в разделе Запуск функций MATLAB на графическом процессоре (панель инструментов параллельных вычислений).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.