Я делаю утилиту 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);
В результате значения не меняются.
Мои вопросы:
- Подтверждаете ли вы, что минимальные и максимальные значения пикселей в VideoStream доступны только для чтения?
- Поддерживает ли OpenNI каким-либо образом изначально установку этих пороговых значений?
Спасибо за внимание.