【问题标题】:OpenNI 2 set min/max depth valuesOpenNI 2 设置最小/最大深度值
【发布时间】: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);

因此,值不会改变。

我的问题是:

  1. 您确认 VideoStream 中的最小和最大像素值是只读的吗?
  2. OpenNI 在某种程度上是否支持设置这些阈值?

感谢您的关注。

【问题讨论】:

  • 你找到答案了吗?
  • 不,很遗憾。在 OpenNI 中似乎没有办法在源头设置这些阈值。您必须通过 OpenCV 操作或制作自己的阈值过滤器。

标签: openni


【解决方案1】:

我遇到了类似的问题,即设置特定设备的 maxDepthVlaue。状态总是作为失败返回。但是,当您运行 isPropertySupported(openni::STREAM_PROPERTY_MAX_VALUE) 时,它会返回 true。所以有一种内部方法可以设置最大深度值。不过不太清楚那是什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-21
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多