detectORBFeatures

Обнаружьте и сохраните ORB keypoints

Синтаксис

points = detectORBFeatures(I)
points = detectORBFeatures(I,Name,Value)

Описание

пример

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

пример

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

Примеры

свернуть все

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

I = imread('businessCard.png');

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

I = rgb2gray(I);

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

figure
imshow(I)

Обнаружьте и сохраните ORB keypoints.

points = detectORBFeatures(I);

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

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

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

I = imread('star.png');

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

figure
imshow(I)

Обнаружьте и сохраните ORB keypoints. Задайте масштабный коэффициент для разложения изображений как 1,01 и количество уровней разложения как 3.

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

Алгоритмы

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

Ссылки

[1] Rublee, E., В. Рабо, К. Конолидж и Г. Брадский. "ORB: эффективная альтернатива, чтобы ОТСЕЯТЬ или SURF". В продолжениях 2 011 международных конференций по вопросам компьютерного зрения, 2564–2571. Барселона, Испания: IEEE, 2011.

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

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

Введенный в R2019a