showMatchedFeatures

Отобразите соответствующие характерные точки

Описание

пример

showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2) отображает falsecolor наложение изображений I1 и I2 с графиком, на который наносят цветную маркировку, соответствующих точек, соединенных линией. matchedPoints1 и matchedPoints2 содержите координаты соответствующих точек в I1 и I2. Точками ввода может быть M-by-2 матрицы количества M [x y] координаты или SURFPoints, MSERRegions, ORBPoints, BRISKPoints, или cornerPoints объект.

пример

showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2,method) отображения отображают I1 и I2 использование стиля визуализации задано method параметр.

showMatchedFeatures(___,PlotOptions, {MarkerStyle1, MarkerStyle2, LineStyle}) позволяет вам задать пользовательские опции графика в массиве ячеек, содержащем три значения. MarkerStyle1, MarkerStyle2, и LineStyle значения соответствуют символу маркера в I1, символ маркера в I2, и стиль линии и цвет. LineSpec синтаксис plot функция задает каждый из спецификаторов.

H = showMatchedFeatures(___) возвращает указатель на объект изображения, возвращенный showMatchedFeatures.

Примеры

свернуть все

Считайте изображения.

I1 = rgb2gray(imread('parkinglot_left.png'));
I2 = rgb2gray(imread('parkinglot_right.png'));

Обнаружьте функции SURF

points1 = detectHarrisFeatures(I1);
points2 = detectHarrisFeatures(I2);

Выделить признаки

[f1, vpts1] = extractFeatures(I1, points1);
[f2, vpts2] = extractFeatures(I2, points2);

Совпадайте с функциями.

indexPairs = matchFeatures(f1, f2) ;
matchedPoints1 = vpts1(indexPairs(1:20, 1));
matchedPoints2 = vpts2(indexPairs(1:20, 2));

Визуализируйте соответствия кандидата.

figure; ax = axes;
showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2,'montage','Parent',ax);
title(ax, 'Candidate point matches');
legend(ax, 'Matched points 1','Matched points 2');

Figure contains an axes object. The axes object with title Candidate point matches contains 4 objects of type image, line. These objects represent Matched points 1, Matched points 2.

Используйте функции SURF, чтобы найти соответствующие точки между двумя изображениями вращаемыми и масштабированными друг относительно друга.

Считайте изображения.

I1 = imread('cameraman.tif');
I2 = imresize(imrotate(I1,-20), 1.2);

Обнаружьте функции SURF.

points1 = detectSURFFeatures(I1);
points2 = detectSURFFeatures(I2);

Выделить признаки.

[f1, vpts1] = extractFeatures(I1, points1);
[f2, vpts2] = extractFeatures(I2, points2);

Совпадайте с функциями.

indexPairs = matchFeatures(f1, f2) ;
matchedPoints1 = vpts1(indexPairs(:, 1));
matchedPoints2 = vpts2(indexPairs(:, 2));

Визуализируйте соответствия кандидата.

figure; ax = axes;
showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2,'Parent',ax);
title(ax, 'Putative point matches');
legend(ax,'Matched points 1','Matched points 2');

Figure contains an axes object. The axes object with title Putative point matches contains 4 objects of type image, line. These objects represent Matched points 1, Matched points 2.

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

свернуть все

Введите изображение один в виде числового массива.

Введите изображение два в виде числового массива.

Координаты точек в изображении один в виде M-by-2 матрица количества M [x y] координаты, или как SURFPoints, MSERRegions, ORBPoints, BRISKPoints, или cornerPoints объект.

Координаты точек в изображении два в виде M-by-2 матрица количества M [x y] координаты, или как SURFPoints, MSERRegions, ORBPoints, BRISKPoints, или cornerPoints объект.

Метод стиля отображения в виде одного из следующего:

falsecolor:Наложите изображения путем создания составного красно-голубого изображения, показывающего I1 как красный и I2 как голубой.
blend: Наложите I1 и I2 использование альфа-смешивания.
montage:Поместите I1 и I2 друг рядом с другом в том же изображении.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример:

Стиль линии и параметры цвета в виде массива ячеек из символьных векторов или массива строк. Эти три значения {MarkerStyle1, MarkerStyle2, LineStyle}, соответствуют, символ маркера в I1, символ маркера в I2, и стиль линии и цвет. LineSpec синтаксис plot функция задает каждый из спецификаторов.

Выведите оси для отображения визуализации в виде axes графический объект.

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

свернуть все

Обработайте к объекту изображения, возвращенному как указатель на объект изображения, возвращенный showMatchedFeatures.

Представленный в R2012b