- 1 下载opencv4.1源码并解压
unzip opencv-4.1.0.zip
- 2 安装相关软件包
sudo apt-get install build-essential
sudo apt-get install libgtk2.0-dev
sudo apt-get install libavcodec-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libtiff5-dev
sudo apt-get install libswscale-dev
sudo apt-get install libjasper-dev (注意:这个包直接安装不了,需要执行以下操作:
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
成功的解决了问题,其中libjasper1是libjasper-dev的依赖包)
sudo apt-get install pkg-config
sudo apt-get install libavformat-dev
- 3 用cmake从source构建opencv
(1)配置cmake生成makefile文件
进入解压出来的opencv-4.1.0文件夹,创建一个新的文件夹(my_build_dir), 进入新文件夹,打开终端,进入这个文件夹,执行命令:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
其中CMAKE_INSTALL_PREFIX
指定了编译好的库的目录,也就是说编译完成的OpenCV
库文件会在该目录下
.. 是表示在外层文件夹下执行,外层文件夹下才有CMakeLists文件。
(2) 开始编译
单线程编译: sudo make
或 多线程编译: sudo make -j3 (j 后面的数字是你想使用的线程数量)
(3)编译结束后安装
sudo make install
完成后,opencv就编译好了,接下来就需要配置opencv的编译环境了。
- 4 配置环境
(1)将opencv库添加到路径
执行 sudo gedit /etc/ld.so.conf.d/opencv.conf
执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加
/usr/local/lib
执行如下命令使得刚才的配置路径生效
sudo ldconfig
(2) 配置bashrc
sudo vim /etc/bash.bashrc
在文件尾添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
最后source
一下,让更改立即生效:
source /etc/bash.bashrc
更新一下: sudo updatedb
- 5 测试
见下一篇博客