在Ubuntu中集成opencv 3.0.0用于Python和C++并使用CMake构建库
请帮我在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 个回答
在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安装页面。