【发布时间】:2015-10-19 09:57:46
【问题描述】:
我刚刚从源代码安装了最新的 OpenCV。安装后我发现我的电脑上已经安装了 OpenCV。现在我有一个/usr/include/opencv 和一个/usr/include/opencv2 同时存在。
当我尝试从最新版本编译示例时,它会自动转到目录opencv2 以查找头文件。显然新版本中的一些示例需要的头文件只存在于opencv,而不存在于opencv2。
我检查了正在使用的版本如下。
$ pkg-config --modversion opencv
2.4.8
如何清理旧版本并设置环境变量以便使用新版本?
感谢您指出。我没有意识到/opencv 和/opencv2 在正常安装中同时存在。所以这些文件夹是无关紧要的。
这是我安装 OpenCV 所做的。我在新安装的 ubuntu 14.04 上遵循了本教程: http://www.bogotobogo.com/OpenCV/opencv_3_tutorial_ubuntu14_install_cmake.php
我 git 克隆并进行了完整的 make 安装。我以为 git 源是 3.0.0 版本,我错了吗?
(抱歉编辑晚了,非常感谢您的帮助!!)
【问题讨论】:
-
我一直在使用 apt-get。我不确定直接删除旧版本,如果我这样做,依赖和其他设置会混乱吗?
-
不确定您是否意识到在单个 OpenCV 安装中同时拥有
opencv和opencv2是正常的。 -
请详细说明如何从源代码(cmake、make、sudo make install?)安装 OpenCV。还请告诉我们您是否安装了软件包
libcv-dev或libopencv-dev。 -
如果你想安装不同版本的软件或库,你可以使用 stow.我已经解释了在以下答案中使用它的方法:goo.gl/97H8xE
-
opencv2可能指的是现代化的 C++ OpenCV 包含,而opencv包含较旧的 C 可调用 OpenCV 包含。 All versions of OpenCV since 2.0.0 have those two folders。尽管您发现新版本中的一些示例,但我怀疑您的示例中的代码可能包含十年左右未更新的过时代码。您可以通过writing a simple program and printing out its version string查看OpenCV版本。