opencv - PCL、OpenCV和flann冲突

标签 opencv point-cloud-library

我正在为我的程序(在 Qt 中)使用 PCL 1.6、OpenCV 2.4.2,并且存在我无法解决的 flann (1.7.1) 冲突。

我已经在互联网上阅读了很多关于它的内容,并尝试了大部分解决方案(不使用 using namespace cv ,更新最新版本的 OpenCV 并将 PCL include 放在 OpenCV inludes 之前等),但仍然每当我使用PCL 和 OpenCV 一起,flann-lib(PCL 使用)会导致问题并说例如对于这行代码 typedef flann::Index<Dist> FLANNIndex;

/usr/include/pcl-1.6/pcl/kdtree/kdtree_flann.h:74: error: 'flann' does not name a type

还有其他解决方法吗?

最佳答案

遇到了同样的问题。

在 opencv 中有一个 flann 的实现,在 pcl 中有另一个(可能是相同的)。

最初,它们位于不同的 NAMESPACES 中,但如果您愿意的话

using namespace cv;
using namespace pcl;

你在那里得到了冲突。

因此,跳过 using namespace cv; 行,而是在代码中使用 cv::anything 解决了这个问题。

关于opencv - PCL、OpenCV和flann冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11918504/

相关文章:

c++ - 删除 PCL 可视化器内定义的 3D 框外的点

opencv - 使用 Kinect 进行 3D 对象跟踪检测

c++ - 使用词法转换在 'string to double' 中设置 double 变量

c++ - 当内存对齐问题 (AVX) 不在最小上下文中重现时,如何调试它们?

c++ - 使用点云库 (PCL) 时的 Boost 问题

opencv - 深度 CNN 不会学习,准确率只是保持在相同值

c++ - OpenCV Image Mat 到 1D CHW(RR...R, GG..G, BB..B) vector

opencv - 使用 homebrew 安装 opencv 3.3.1(之前的版本)

c++ - OpenCV的运行时库和静态库

python - 可以使用Python 3.5.2下载OpenCV吗?