【发布时间】:2017-05-25 07:26:45
【问题描述】:
我正在制作一个使用 OpenNI 2 的 C++ 实用程序。理想情况下,我现在需要设置深度图像的最小和最大阈值。过去我使用 OpenCV 或我自己的图像处理函数来做这件事,在再次这样做之前,我想知道 OpenNI 中是否有一个特性支持这个。
查看可下载的文档(OpenNI 软件包随附),在 OpenNI.h 的 VideoStream 类中定义了几个有趣的函数。它们是:
int VideoStream::getMinPixelValue()
int VideoStream::getMaxPixelValue()
返回我需要的当前限制;这些似乎是硬件读数。尽管如此,VideoStream 类还公开了 setProperty 函数,该函数允许在 oniProperties.h 中定义的值列表中设置属性之一。
由于该文件中的文档和 cmets 都没有指定一个属性是否为只读,因此我尝试通过这样做来写入最小值和最大值
myVideoStream.setProperty<int>(openni::STREAM_PROPERTY_MIN_VALUE, myIntMinValue);
myVideoStream.setProperty<int>(openni::STREAM_PROPERTY_MAX_VALUE, myIntMaxValue);
因此,值不会改变。
我的问题是:
- 您确认 VideoStream 中的最小和最大像素值是只读的吗?
- OpenNI 在某种程度上是否支持设置这些阈值?
感谢您的关注。
【问题讨论】:
-
你找到答案了吗?
-
不,很遗憾。在 OpenNI 中似乎没有办法在源头设置这些阈值。您必须通过 OpenCV 操作或制作自己的阈值过滤器。
标签: openni