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