Опубликован: 23.10.2013 | Уровень: для всех | Доступ: платный | ВУЗ: Северный (Арктический) федеральный университет им. М.В. Ломоносова
Лекция 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 – если текущая цель активирована.

Гульзия Калымова
Гульзия Калымова
Александр Радченко
Александр Радченко
Юрий Симонов
Юрий Симонов
Россия, Москва, Московский Государственный Университет им. М.В. Ломоносова, 2011
Вадим Сизоненко
Вадим Сизоненко
Россия, Братский р-н