detectORBFeatures

Обнаружение ключевых точек ORB и возврат ORBPoints объект

Описание

пример

points = detectORBFeatures(I) возвращает ORBPoints объект, который содержит информацию о ключевых точках ORB. Ключевые точки ORB обнаруживаются из входа изображения с помощью ориентированного метода FAST и повернутого метода BRIEF (ORB) функции обнаружения.

пример

points = detectORBFeatures(I,Name,Value) задает опции, используя один или несколько аргументы пары "имя-значение".

Примеры

свернуть все

Чтение изображения в рабочую область.

I = imread('businessCard.png');

Преобразуйте изображение в полутоновое изображение.

I = im2gray(I);

Отобразите полутоновое изображение.

figure
imshow(I)

Figure contains an axes. The axes contains an object of type image.

Обнаружение и хранение точек ключа ORB.

points = detectORBFeatures(I);

Отобразите изображение в полутоновом цвете и постройте график обнаруженных точек ключа ORB. Подавить отображение кругов вокруг обнаруженных точек ключа. Ключевые точки ORB обнаруживаются в областях с высокой интенсивностью отклонения.

figure
imshow(I)
hold on
plot(points,'ShowScale',false)
hold off

Figure contains an axes. The axes contains 2 objects of type image, line.

Считайте бинарное изображение в рабочую область.

I = imread('star.png');

Отобразите изображение.

figure
imshow(I)

Figure contains an axes. The axes contains an object of type image.

Обнаружение и хранение точек ключа ORB. Задайте коэффициент шкалы для разложения изображения как 1.01 и количество уровней разложения как 3.

points = detectORBFeatures(I,'ScaleFactor',1.01,'NumLevels',3);

Отобразите изображение и постройте график обнаруженных точек ключа ORB. Точки перегиба в двоичном изображении формы обнаруживаются как ключевые точки ORB.

figure
imshow(I)
hold on
plot(points)
hold off

Figure contains an axes. The axes contains 3 objects of type image, line.

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

свернуть все

Входное изображение, заданное как M -by N полутоновое изображение. Входное изображение должно быть реальным и неразборчивым.

Типы данных: single | double | int16 | uint8 | uint16 | logical

Аргументы в виде пар имя-значение

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

Пример: detectORBFeatures(I,'NumLevels',4)

Масштабный коэффициент для разложения изображения, заданный как разделенная разделенными запятой парами, состоящая из 'ScaleFactor' и скаляром больше 1. Значение шкалы на каждом уровне разложения ScaleFactor(level-1), где level - любое значение в области значений [0, Numlevels-1]. Учитывая входное изображение размера M -by - N, размер изображения на каждом уровне разложения, MScaleFactor(level1)около-NScaleFactor(level1).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint64 | uint32

Количество уровней разложения, заданное как разделенная разделенными запятой парами, состоящая из 'NumLevels' и скаляром, большим или равным 1. Увеличьте это значение, чтобы извлечь ключевые точки из изображения при больших уровнях разложения.

Количество уровней разложения для извлечения точек ключа ограничено размером изображения на этом уровне. Размер изображения на уровне разложения должен быть по меньшей мере 63 на 63 для обнаружения точек ключа. Максимальный уровень разложения вычисляется как

levelmax = floor(log(min(M,N))log(63)log(ScaleFactor))+1

Если либо значение по умолчанию, либо заданное значение 'NumLevels' больше levelmax, функция изменяется NumLevels в levelmax и возвращает предупреждение.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint64 | uint32

Необходимая область для обнаружения точек ключа, заданная как разделенная запятой пара, состоящая из 'ROI' и вектор формата [x y width height]. Первые два элемента представляют расположение верхнего левого угла необходимой области. Последние два элемента представляют ширину и высоту необходимой области. Ширина и высота необходимой области должны быть значением, большим или равным 63.

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

свернуть все

Ключевые точки ORB, возвращенные как ORBPoints объект. Объект содержит информацию о ключевых точках, обнаруженных в вход изображении.

Алгоритмы

Функция обнаруживает ключевые точки из входа изображения с помощью метода обнаружения признаков ORB в [1].

Ссылки

[1] Rublee, E., V. Rabaud, K. Konolige, and G. Bradski. ORB: эффективная альтернатива SIFT или SURF. В работе 2011 международной конференции по компьютерному зрению, 2564-2571. Барселона, Испания: IEEE, 2011.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2019a