Модуль отслеживания 2D/3D объектов Intel Perceptual Computing SDK
Интеграция D'Fusion CV SDK с Intel Perceptual Computing SDK
Класс dcvTracker
Информация об отслеживаемых объектах сгруппирована в один класс с именем "dcvTracker".
"dcvTracker" получает на входе XML-файл, определяющий сценарий отслеживания. В результате будут получены: статус отслеживания, распознанный объект, положение объекта, ориентация объекта.
Поддерживается управление несколькими сценариями одновременно.
Структура класса
dcvTracker::ProfileInfo
Синтаксис:
ProfileInfo { pxcU32 width; pxcU32 height; PXCCapture::VideoStream::DataDesc inputs; };
Структура ProfileInfo – определяет доступ к информации конфигурации.
width – ширина рамки
height – высота рамки
inputs – конфигурация или видео поток
dcvTracker::TrackingStatus
TrackingStatus возвращает возможные статусы отслеживаемого объекта.
STATUS_UNINITIALIZED - Отслеживание не начато
STATUS_RECOGNITION - Отслеживание запущено
STATUS_TRACKING – Распознавание запущено
dcvTracker::TargetType
TargetType перечисляет все поддерживаемые типы объектов (целей).
TARGET_UNDEFINED - Цель не определена
TARGET_PLANE – Плоский объект
TARGET_OBJECT3D - 3D объект
TARGET_FACE – Отслеживание лица
dcvTracker::TargetData
Структура, которая содержит выходные данные отслеживания / процесс распознавания для одной цели.
Синтаксис:
TargetData { TrackingStatus status; pxcI32 trackedTarget; pxcF64 position[3]; pxcF64 orientation[4]; };
status – статус отслеживания/распознавания
trackedTarget – распознанный ключевой кадр
position – текущая позиция отслеживаемого объекта
orientation – ориентация объекта (выражается в виде кватерниона)
Функции dcvTracker
dcvTracker::SetProfile
Это основной метод для инициализации трекера.
Синтаксис:
pxcStatus SetProfile(const pxcCHAR* configFilePath, ProfileInfo* pinfo)
Параметры:
configFilePath абсолютный путь к .xml файлу конфигурации
pinfo текущая конфигурация профиля
Возвращает:
PXC_STATUS_NO_ERROR если конфигурация загружена удачно
PXC_STATUS_PARAM_UNSUPPORTED если не удалось загрузить конфигурацию
dcvTracker::QueryProfile
Получает подходящую конфигурацию. Этот метод заполняет структуру PXCCapture::VideoStream::DataDesc.
Синтаксис:
pxcStatus QueryProfile (ProfileInfo* pinfo)
Параметры:
pinfo - соответствующая структура конфигурации.
Возвращает:
PXC_STATUS_NO_ERROR в случае успеха.
Комментарии:
inputs.devCaps[0] X значение поля видимости.
inputs.devCaps[1] Y значение поля видимости.
inputs.devCaps[2] X значение фокусного расстояния в пикселях.
inputs.devCaps[3] Y значение фокусного расстояния в пикселях.
inputs.devCaps[4] X значение оптического центра в пикселях.
inputs.devCaps[5] Y значение оптического центра в пикселях.
dcvTracker::QueryProfile
Получает подходящую конфигурацию для конкретной конфигурации трекера.
Синтаксис:
pxcStatus QueryProfile (const pxcCHAR *filename, ProfileInfo* pinfo)
Параметры:
filename – путь к настройкам конфигурации.
pinfo - соответствующая структура конфигурации.
Возвращает:
PXC_STATUS_NO_ERROR в случае успеха,
PXC_STATUS_ITEM_UNAVAILABLE если не удалось загрузить настройку отслеживания
dcvTracker::ProcessImageAsync
Это основной метод для оптимизации процесса отслеживания объекта.
Синтаксис:
pxcStatus ProcessImageAsync (PXCImage* Image, PXCSchedulter::SyncPoint **sp)
Параметры:
Image – изображение для обработки
sp – точка синхронизации, указывающая на окончание процесса
Возвращает:
PXC_STATUS_NO_ERROR в случае успеха
dcvTracker::GetTargetCount
Метод возвращает число объектов (целей), определенных для объекта dcvTracker.
Синтаксис:
pxcI32 GetTargetCount ()
Возвращает число целей.
dcvTracker::ActivateTarget
Этот метод позволяем активировать/деактивировать объект (цель) из набора существующих.
Синтаксис:
pxcStatus ActivateTarget ( pxcI32 targetIndex, bool activate = true)
Параметры:
targetIndex – индекс цели для активации/деактивации
activate – установить true для активации (по умолчанию)
Возвращает
PXC_STATUS_NO_ERROR в случае успеха
PXC_STATUS_HANDLE_INVALID если dcvTracker инициализировался не верно
PXC_STATUS_ITEM_UNAVAILABLE если targetIndex не совпадает с реальной целью
dcvTracker::IsTargetActivated
Метод проверяет флаг активации выбранной цели.
Синтаксис:
bool IsTargetActivated( pxcI32 targetIndex )
Параметры:
targetIndex – индекс цели, чей результат запрашивается
Возвращает:
true – если текущая цель активирована.