OpenNI 2 устанавливает минимальные/максимальные значения глубины

Я делаю утилиту C++, которая использует OpenNI 2. В идеале теперь мне нужно установить минимальный и максимальный пороги для изображения глубины. Я делал это в прошлом с OpenCV или своими собственными функциями обработки изображений, и прежде чем снова пойти по этому пути, мне интересно, есть ли в OpenNI функция, которая изначально поддерживает это.

Взглянув на загружаемую документацию (поставляется с пакетом OpenNI), вы найдете пару интересных функций, определенных в классе VideoStream в OpenNI.h. Эти:

int VideoStream::getMinPixelValue()
int VideoStream::getMaxPixelValue()

которые возвращают текущие ограничения, которые мне нужны; это похоже на аппаратные показания. Тем не менее, класс VideoStream также предоставляет функцию setProperty, которая позволяет установить одно из свойств в списке значений, определенных в oniProperties.h.

Поскольку ни в документации, ни в комментариях в этом файле не указано, доступно ли одно свойство только для чтения или нет, я попытался записать минимальное и максимальное значения, выполнив

myVideoStream.setProperty<int>(openni::STREAM_PROPERTY_MIN_VALUE, myIntMinValue);
myVideoStream.setProperty<int>(openni::STREAM_PROPERTY_MAX_VALUE, myIntMaxValue);

В результате значения не меняются.

Мои вопросы:

  1. Подтверждаете ли вы, что минимальные и максимальные значения пикселей в VideoStream доступны только для чтения?
  2. Поддерживает ли OpenNI каким-либо образом изначально установку этих пороговых значений?

Спасибо за внимание.


person SteakOverflow    schedule 07.09.2015    source источник
comment
Вы нашли ответ до сих пор?   -  person zhangxaochen    schedule 05.03.2016
comment
Нет, к сожалению. В OpenNI, кажется, нет способа установить эти пороги в источнике. Вы должны работать через OpenCV или сделать свой собственный пороговый фильтр.   -  person SteakOverflow    schedule 08.03.2016


Ответы (1)


Я столкнулся с аналогичной проблемой, то есть с установкой maxDepthVlaue определенного устройства. Статус всегда возвращается как сбой. Однако при запуске isPropertySupported(openni::STREAM_PROPERTY_MAX_VALUE) возвращается значение true. Таким образом, есть внутреннее средство для установки максимального значения глубины. Хотя не очень знаю, что это такое.

person Vinay    schedule 24.05.2017