Google Tango — получить время экспозиции из TangoImageBuffer?

Я пытаюсь прочитать время выдержки из TangoImageBuffer struct и я всегда вижу в ней значения мусора. Он начинается с 0 и случайно меняется на огромное положительное число, а иногда и отрицательные числа.

Я в основном бросаю exposure_time_ns значение для %lld когда я распечатываю это. Также, когда я пытаюсь преобразовать огромные числа в секунды, это не имеет смысла, так как в итоге получается более 100 секунд.

exposure_time_ns является типом данных int64_t. Я неправильно произнесу это или есть другой способ получить это?

MVCE — Я использую точка-точка пример из танго c примерами, доступными в github. Вот ссылка на него
https://github.com/googlesamples/tango-examples-c/tree/master/cpp_point_to_point_example

Я просто изменил способ, которым OnFrameAvailable обратный вызов обрабатывается, и я прикрепил его ниже.

void PointToPointApplication::OnFrameAvailable(const TangoImageBuffer* buffer) {
TangoSupport_updateImageBuffer(image_buffer_manager_, buffer);
int64_t exposure = 0;
double timestamp = 0;
TangoImageBuffer* currentBuffer = nullptr;
{
std::lock_guard<std::mutex> lock(_tangobufferLock);

TangoSupport_getLatestImageBuffer(image_buffer_manager_,
&currentBuffer);
if(currentBuffer == nullptr)
{
LOGE("Color Buffer manager retrieval issue\n");
return;
}
else
{
exposure = currentBuffer->exposure_duration_ns;
timestamp = currentBuffer->timestamp;
}
}
}

Я печатаю значения экспозиции, каждый кадр и среди всех атрибутов TangoImageBuffer, только выдержка и номер кадра содержат значения мусора, а все остальные значения действительны.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]