Северный (Арктический) федеральный университет им. М.В. Ломоносова
Опубликован: 23.10.2013 | Доступ: свободный | Студентов: 1773 / 624 | Длительность: 09:26:00
Специальности: Программист
Лекция 6:

Модуль отслеживания 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 – если текущая цель активирована.

Гульзия Калымова
Гульзия Калымова
Александр Радченко
Александр Радченко