[OPENCV]002.编译和安装

opencv :主存储库,包含核心类型和函数、稳定算法、构建脚本和工具
opencv_contrib :包含实验性和不稳定的算法,需要主库来构建
opencv_extra :包含测试和其他文件的数据

参考文档:https://docs.opencv.org

https://docs.opencv.org/4.3.0/d7/d9f/tutorial_linux_install.html

需要的环境

  • 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 or higher

安装相关软件包

[编译器] sudo apt install  build-essential
[依赖] sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev  
[可选] sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

错误:解决无法定位软件包 libjasper-dev

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt install libjasper1 libjasper-dev

用 CMake编译

1.创建一个临时目录,在其中放置生成的makefile、项目文件以及目标文件和输出二进制文件,并进入该目录:

cd ~/opencv
mkdir build
cd build

2.配置:运行cmake [<可选参数>] <源目录>

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
  • 注意:如果报错,使用 -D 后面不加空格进行重试,如:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..

3.参数描述

  • 编译类型:CMAKE_BUILD_TYPE=Release\Debug;
  • 若要编译opencv_contrib中的模块,则使用OPENCV_EXTRA_MODULES_PATH来设置到该模块的路径;
  • 设置BUILD_DOCS来编译文档;
  • 设置BUILD_EXAMPLES来编译所有示例;

4.【可选】编译 python,可设置以下参数

  • PYTHON2(3)_EXECUTABLE =
  • PYTHON_INCLUDE_DIR = /usr/include/python
  • PYTHON_INCLUDE_DIR2 = /usr/include/x86_64-linux-gnu/python
  • PYTHON_LIBRARY = /usr/lib/x86_64-linux-gnu/libpython.so
  • PYTHON2(3)_NUMPY_INCLUDE_DIRS = /usr/lib/python/dist-packages/numpy/core/include/

5.【可选】编译 JAVA

  • 不要设置参数: BUILD_SHARED_LIBS
  • 不要设置BUILD_EXAMPLES、BUILD_TESTS、BUILD_PERF_TESTS也很有用:因为它们都将静态地链接到OpenCV,并且会占用大量内存;

6.【可选】生成pkg-config信息

  • 运行CMake时,增加选项: -DOPENCV_GENERATE_PKGCONFIG=ON
  • 将生成.pc文件,且安装它;
  • 在使用OpenCV的项目中,如果不使用CMake,则非常有用;
  • 安装opencv4,格式: pkg-config --cflags --libs opencv4

7.编译:从build目录执行make,建议在几个线程中执行此操作

make -j7 

8.【可选】编译文档: 进入 <cmake的编译目录/doc/>目录,且运行

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

9.安装库:在编译目录执行以下命令

sudo make install

10.[可选]运行测试

OpenCV extra repository获取所需的测试数据

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命令来获得尽可能小的库文件(被剥离的版本看起来要小两倍)。但是,不建议这样使用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酷咪哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值