将Kinect数据转换为OpenCV矩阵
converting kinect data to opencv matrix
opencv和kinect的新手:)
我很抱歉,如果这里还有其他类似的问题 - 我确实搜索并且仍然迷路了。
我正在尝试将Microsoft Kinect SDK与OpenCV一起使用。我查看了SDK中的KinectBridgeWithOpencvBasis示例,但发现它太复杂了。
这是一个问题:我正在使用此站点的DepthSensor类,我正在尝试将深度数据获取到OpenCV矩阵中。代码如下:
DepthSensor *ds = new DepthSensor();
ds->init();
Mat frame;
ds->getDepthMat().copyTo(frame);
imshow("display", ds->getColorMat());
我确实添加了ds-> processDepth();在各个方面检查它是否有效。确切的错误消息是:
opencv错误:断言失败(size.width> 0& size.height> 0)cv :: imshow,file c: builds 2_4_packslave-win64-vc12-shared opencv opencv 模块 highgui src window.c.cPP,第261行
和
opencvtest.exe中的0x000007fefc7b940d在0x000007fefc7b940d上:Microsoft C 例外:CV :: exception在存储位置0x0000000000001af500。
关于我如何解决这个问题的任何想法?谢谢。
mt
我对OpenCV和Kinect也很陌生,但是我遇到了这篇文章。它似乎描述了一个类似的问题。如果您查看有关任何帖子的最后评论,OP描述了他们发现的解决方案:
感谢您的回答。我弄清楚了这个问题。这是冲突 在32和64位DLL与编译器之间。当我安装 2010年使用SuperPack 2.3编译器,我认为编译器试图使用混音匹配 基于其在环境中的设置vars的方式,x86和x64 dll 和VS2010。我通过在其他不同的地方安装VS2010来弄清楚 只有x86支持编译器的计算机和我一点也没有问题。 一切都很好!完全相同的设置,只有一个是x86, 另一个是x86和x64。这没有道理,因为编译器应该 选择一个对吗?而不是x86和64 dll的混合物?
另一个(也许是相关的?)可能是您安装OpENCV时出了问题。我尝试构建图书馆的第一个次,我在尝试运行代码时会犯错误,并遇到了奇怪的错误。我最终使用预先构建的库进行了定居。如果您使用所有OpenCV代码遇到错误,请尝试重新安装。
最后,似乎您只发布了代码的片段。我看到很多人要求问题包括完整的代码,以便可以更容易地调试,以防您错过其他地方的错误。
祝你好运!
- OpenCV矩阵奇怪的加法,乘法与浮点数和8位值
- 在C++中使用OpenCV矩阵中的特征将图像旋转90度
- 从 16UC3 到 8UC3 的高性能 OpenCV 矩阵转换
- 将元素从opencv矩阵复制到特征矩阵
- 在 openCV 矩阵中查找列最大值的索引和值
- 如何从OpenCV矩阵转换为k4a_image_t(Azure Kinect SDK)
- 如何将 Openh264 解码帧无延迟输出格式转换为 OpenCV 矩阵
- 如何在 CUDA 中的内核函数中乘以两个 openCV 矩阵?
- 将 OpenCV 矩阵分配给数据结构
- 从3通道矩阵中减去OPENCV矩阵
- 我可以将矢量投入到OpenCV矩阵中吗?
- OPENCV矩阵伪逆失败
- 将Kinect数据转换为OpenCV矩阵
- OpenCV 矩阵和 FileNodeIterator:选择第一次迭代
- 在 GPU 的 opencv 矩阵缩减中可能存在的错误
- 为什么此OpenCV矩阵的大小和值不正确
- OpenCV 矩阵乘法断言
- 访问 opencv 矩阵CV_32S元素
- C++类和OpenCV矩阵操作之间的转换
- 如何根据C++中的数据类型打印 OpenCv 矩阵