![如何在 Ubuntu 上使用 OpenCV 3.0 而不覆盖当前版本的 OpenCV (2.4.8)?](https://linux22.com/image/1051848/%E5%A6%82%E4%BD%95%E5%9C%A8%20Ubuntu%20%E4%B8%8A%E4%BD%BF%E7%94%A8%20OpenCV%203.0%20%E8%80%8C%E4%B8%8D%E8%A6%86%E7%9B%96%E5%BD%93%E5%89%8D%E7%89%88%E6%9C%AC%E7%9A%84%20OpenCV%20(2.4.8)%EF%BC%9F.png)
我在 Ubuntu 14.04 LTS 上使用 ROS indigo,它会自动在我的 Linux 机器上安装 OpenCV 2.4.8。我对 Ubuntu 的工作原理还不太熟悉,所以我真的不想弄乱已经安装在我机器上的 OpenCV。
但是,我确实想看看我的某个程序是否仍能使用 OpenCV 3.0,所以我想安装 OpenCV 3.0 并在 CMakeLists.txt 中链接到它。有没有办法安装 OpenCV 3.0 而不弄乱我机器上已有的 OpenCV 2.4.8,以便我可以同时尝试两者?
谢谢
答案1
转到 OpenCV 文档这里并按照步骤操作。
唯一的变化是在步骤 2 中。应修改 cmake 命令以满足您的需要:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=..
您现有的安装应该在/usr/local
,因此使用不同的文件夹,例如,您可以在主目录中创建一个。
使用新版本的 OpenCV 进行编译的方法如下:
为您的项目创建一个文件夹。它应该包含 .cpp 文件和另一个名为 CMakeLists.txt 的文件,其内容如下:
CPP = g++
CPPFLAGS = -L</path/to/opencv3.0.0/lib> \
-I</path/to/opencv3.0.0/include>
all: <name-of-.cpp-file>
$(CPP) $(CPPFLAGS) $^ -o $@
您需要对此文件进行三处更改。在您安装 OpenCV 的文件夹中,将有两个名为“libs”和“include”的目录。您应该将它们分别放在第 2 行和第 3 行。然后在倒数第二行中,输入您的 cpp 文件的名称。
要编译您的项目,请在终端中,cd
进入您的项目文件夹并输入make
。输出二进制文件将在同一文件夹中创建。
答案2
您应该能够将 OpenCV 下载放到目录中,在那里运行 cmake 并进行制作。我有一个几年前的旧 2.2,但目前没有经验,而且 README 中的 willowgarage 链接已失效。