阅读(461) (11)

OpenCV 在Linux中安装

2017-08-22 11:07:10 更新

以下步骤已经过Ubuntu 10.04测试,但也应该与其他发行版一起使用。

所需包

  • GCC 4.4.x或更高版本
  • CMake 2.8.7或更高版本
  • Git
  • GTK + 2.x或更高版本,包括头文件(libgtk2.0-dev)
  • pkg-config
  • Python 2.6或更高版本以及Numpy 1.5或更高版本的开发者软件包(python-dev,python-numpy)
  • ffmpeg或libav开发包:libavcodec-dev,libavformat-dev,libswscale-dev
  • [可选] libtbb2 libtbb-dev
  • [可选] libdc1394 2.x
  • [可选] libjpeg-dev,libpng-dev,libtiff-dev,libjasper-dev,libdc1394-22-dev
  • [可选] CUDA Toolkit 6.5或更高版本

可以使用终端和以下命令或使用Synaptic Manager安装软件包:

[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存储库获取最新的快照。

获取最新稳定的OpenCV版本

  • 转到我们的下载页面
  • 下载源存档并解压缩。

从Git Repository获得最新的OpenCV

启动Git客户端并克隆OpenCV存储库。如果您需要OpenCV contrib存储库中的模块,那么也可以克隆它。

例如:

cd〜/ <my_working_directory>
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

使用CMake从源代码构建OpenCV

1、创建一个临时目录,我们将其指定为<cmake_build_dir>,您要将生成的Makefile,项目文件以及目标文件和输出二进制文件放在那里。

例如:

cd ~/opencv
mkdir build
cd build

2、配置。运行cmake [<some optional parameters>] <OpenCV源目录的路径>

例如

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

或cmake-gui

  • 设置OpenCV源代码的完整路径,例如/ home / user / opencv
  • 设置完整路径到<cmake_build_dir>,例如/ home / user / opencv / build
  • 设置可选参数
  • 运行:“Configure”
  • 运行:“Generate”

注意:

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..如果上述示例不起作用,则在-D之后不使用空格。

3、一些参数说明

  • 构建类型: CMAKE_BUILD_TYPE=ReleaseDebug
  • 使用opencv_contrib的模块构建OPENCV_EXTRA_MODULES_PATH到<path to opencv_contrib / modules />
  • 将BUILD_DOCS设置为构建文档
  • 设置BUILD_EXAMPLES来构建所有示例

4、[可选]构建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 /

5、 [可选]构建java。

  • 取消设置参数:BUILD_SHARED_LIBS
  • 取消BUILD_EXAMPLES,BUILD_TESTS,BUILD_PERF_TESTS,因为它们都将与OpenCV静态链接并且可以占用很多内存也很有用。

6、建立。从构建目录执行make,建议在多个线程中执行此操作

例如:

make -j7 # runs 7 jobs in parallel

7、[可选]创建文档。输入<cmake_build_dir / doc />并运行make与目标“doxygen”

例如:

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

8、安装库,请从构建目录执行以下命令

sudo make install

9、[可选]运行测试

例如:

git clone https://github.com/opencv/opencv_extra.git
  • 将OPENCV_TEST_DATA_PATH环境变量设置为<path to opencv_extra / testdata>。
  • 从构建目录执行测试。

例如:

<cmake_build_dir> / bin中/ opencv_test_core
注意

如果创建的库的大小是一个关键问题(例如,在Android版本的情况下),您可以使用install / strip命令来获得最小的大小。剥离的版本似乎是两次小。但是,除非这些额外的兆​​字节真的很重要,否则我们不建议使用这个。