在Ubuntu中集成opencv 3.0.0用于Python和C++并使用CMake构建库

1 投票
1 回答
2875 浏览
提问于 2025-04-18 06:06

请帮我在Ubuntu 14.04上安装opencv开发版本3.0.0,并告诉我如何在opencv中创建构建文件夹和库。我之前在Ubuntu上使用的是2.4.9,一切都很好,但我需要3.0.0,因为里面有我需要的新命令。那么,如何将opencv 3.0.0集成进来,并完全移除2.4.9呢?

如果这个方法没有生成正确的构建/发布文件夹,我该怎么办?

从源代码构建OpenCV,使用CMake和命令行。首先,创建一个临时目录,我们称之为your_temp_directory,在这里你想放置生成的Makefile、项目文件、目标文件和输出的二进制文件。

进入your_temp_directory,然后输入:

cmake [<some optional parameters>] <path to the OpenCV source directory>

例如:

cd ~/opencv
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

进入创建的临时目录your_temp_directory,然后继续:

make -j8 # -j8 runs 8 jobs in parallel.
     # Change 8 to number of hardware threads available.
sudo make install

1 个回答

1

在Linux上安装

这些步骤已经在Ubuntu 10.04上测试过,但应该也适用于其他版本。

所需的软件包

GCC 4.4.x or later
CMake 2.8.7 or higher
Git
GTK+2.x or higher, including headers (libgtk2.0-dev)
pkg-config
Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
[optional] libtbb2 libtbb-dev
[optional] libdc1394 2.x
[optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev

可以通过终端和以下命令来安装这些软件包,或者使用Synaptic管理器来安装:

[compiler] sudo apt-get install build-essential
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
[optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

获取OpenCV源代码

你可以使用最新的稳定版本的OpenCV,或者从我们的Git仓库获取最新的快照。

Getting the Latest Stable OpenCV Version
Go to our downloads page.
Download the source archive and unpack it.
Getting the Cutting-edge OpenCV from the Git Repository
Launch Git client and clone OpenCV repository. If you need modules from OpenCV contrib repository then clone it too.

例如

cd ~/<my_working_directory>
git clone https://github.com/Itseez/opencv.git
git clone https://github.com/Itseez/opencv_contrib.git
Building OpenCV from Source Using CMake

创建一个临时目录,我们称之为temp_dir,在这里放置生成的Makefile、项目文件、目标文件和输出的二进制文件,然后进入这个目录。

例如

cd ~/opencv
mkdir build
cd build
Configuring. Run cmake [<some optional parameters>] <path to the OpenCV source directory>

例如

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
or cmake-gui





set full path to OpenCV source code, e.g. /home/user/opencv
set full path to <cmake_build_dir>, e.g. /home/user/opencv/build
set optional parameters
run: “Configure”
run: “Generate”

一些参数的说明

build type: CMAKE_BUILD_TYPE=Release\Debug
to build with modules from opencv_contrib set OPENCV_EXTRA_MODULES_PATH to <path to opencv_contrib/modules/>
set BUILD_DOCS for building documents
set BUILD_EXAMPLES to build all examples

[可选] 构建Python。设置以下Python参数:

PYTHON2(3)_EXECUTABLE = <path to python>
PYTHON_INCLUDE_DIR = /usr/include/python<version>
PYTHON_INCLUDE_DIR2 = /usr/include/x86_64-linux-gnu/python<version>
PYTHON_LIBRARY = /usr/lib/x86_64-linux-gnu/libpython<version>.so
PYTHON2(3)_NUMPY_INCLUDE_DIRS = /usr/lib/python<version>/dist-packages/numpy/core/include/
[optional] Building java.

取消设置参数:BUILD_SHARED_LIBS

同时取消设置BUILD_EXAMPLES、BUILD_TESTS、BUILD_PERF_TESTS也是有用的,因为它们都会与OpenCV静态链接,可能会占用很多内存。

构建。在构建目录中执行make,建议使用多个线程来进行。

例如

make -j7 # runs 7 jobs in parallel
[optional] Building documents. Enter <cmake_build_dir/doc/> and run make with target “html_docs”

例如

cd ~/opencv/build/doc/
make -j7 html_docs

要安装库,从构建目录执行

sudo make install
[optional] Running tests

从OpenCV额外仓库获取所需的测试数据。

例如

git clone https://github.com/Itseez/opencv_extra.git
set OPENCV_TEST_DATA_PATH environment variable to <path to opencv_extra/testdata>.
execute tests from build directory.

例如

<cmake_build_dir>/bin/opencv_test_core

致谢:OpenCV安装页面。

撰写回答