3

我收到很多错误,例如

/usr/local/include/opencv2/legacy/legacy.hpp:2994:12: error: 'CvSubdiv2DEdge' does not name a type
/usr/local/include/opencv2/legacy/legacy.hpp:3002:12: error: 'CvSubdiv2DPoint' does not name a type
/usr/local/include/opencv2/legacy/legacy.hpp:1757:36: error: 'cv::EM' has not been declared

使用 OpenCV 2.4.13 它编译得很好。看起来他们实际上忘记在 legacy.hpp 中添加一些必要的包含。这是怎么回事?

4

1 回答 1

0

抱歉误导,但标准设置中实际上没有这样的标题。我的设置与另一个旧版本的 opencv 混合在一起,它没有打包到 deb 文件中,只是 /usr/local/ 中的一堆文件。有趣的是,这是一个全新的安装。

从头开始重新安装 OpenCV 并删除那些旧文件后,错误更改为 legacy.hpp 丢失 - 这正是这里需要的。

这是证明:http ://answers.opencv.org/question/42622/opencv-30-deprecated-opencv_legacy-module/ 。此外,来自 OpenCV 过渡指南:“遗留的非自由模块已被删除。一些算法已被移动到不同的位置,有些已被完全重写或删除。”

于 2016-07-25T11:23:57.133 回答