showMatchedFeatures

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

Синтаксис

showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2)
showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2,method)
showMatchedFeatures(___,PlotOptions, {MarkerStyle1, MarkerStyle2, LineStyle})
H = 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');

Используйте функции 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');

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

свернуть все

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

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

Координаты точек в изображении один, заданный как 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример:

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

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

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

свернуть все

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

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