您的位置:首页 > 运维架构

ubuntu16.04安装 opencv (终端下命令行)

2019-07-06 15:41 267 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_42755412/article/details/94858875

ubuntu16.04安装 opencv (终端下命令行)

  • 安装依赖
编辑/etc/apt/source.list,取消屏蔽的src源
sudo apt-get update
sudo apt-get build-dep opencv
sudo apt-get install libeigen3-dev ffmpeg doxygen liblapacke-dev libgoogle-glog-dev libgstreamer1.0-dev libgstreamer0.10-dev libavresample-dev libopenblas-dev libgphoto2-dev libgtk-3-dev libv4l-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev liblapacke-dev libgflags-dev libjpeg-dev libtiff-dev libpng-dev ccache libprotobuf-dev libgoogle-glog-dev libharfbuzz-dev
wget  https://github.com/opencv/opencv/archive/4.1.0.zip
下载完成解压 unzip opencv-4.1.0.zip
进入opencv-4.1.0目录:  cd opencv-4.1.0
当前目录下创建文件夹 build :  mkdir build
进入build目录:  cd build
使用cmake安装:  cmake   /home/xxx/lib  ..(..不可省略路径可自定义)

配置环境变量 sudo gedit .bashrc(根目录~/)

  • 官网下载oencv、contrib以及依赖的工具====
  • 注意:opencv和贡献包的版本号必须统一,否则无法安装贡献包
sudo apt install axel #安装多线程手动下载工具
cd ~
mkdir libsrc
cd libsrc
axel -n 10 https://github.com/opencv/opencv/archive/4.1.0.zip #下载opencv
axel -n 10 https://github.com/opencv/opencv_contrib/archive/4.1.0.zip #下载contrib
unzip opencv-4.1.0.zip
unzip opencv_contrib-4.1.0.zip
***选择性下载***
#离线复制第三方依赖包(10M以上下载非常慢),加快安装速度
#下载ippicv
mkdir -p ~/libsrc/opencv-4.1.0/.cache/ippicv
cd ~/libsrc/opencv-4.1.0/.cache/ippicv
axel -n 10 https://raw.githubusercontent.com/opencv/opencv_3rdparty/32e315a5b106a7b89dbed51c28f8120a48b368b4/ippicv/ippicv_2019_lnx_intel64_general_20180723.tgz
mv ippicv_2019_lnx_intel64_general_20180723.tgz c0bd78adb4156bbf552c1dfe90599607-ippicv_2019_lnx_intel64_general_20180723.tgz

#下载face_landmark_mode
mkdir -p ~/libsrc/opencv-4.1.0/.cache/data
cd ~/libsrc/opencv-4.1.0/.cache/data
axel -n 10 https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat
mv face_landmark_model.dat 7505c44ca4eb54b4ab1e4777cb96ac05-face_landmark_model.dat
  • 从源码安装opencv4.1.0,并安装opencv_contrib4.1.0贡献包
cd ~/libsrc/opencv-4.1.0/
mkdir build
cd build
cmake -D OPENCV_GENERATE_PKGCONFIG=YES -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.1.0/modules ..
make -j4 #如果安装了matlab,速度可能会非常慢,大约一小时左右
vim unix-install/opencv.pc #编辑该文件,搜索-lippicv,将其删除
sudo make install
sudo ldconfig #库文件立即生效,不用重启

#删除
sudo make uninstall

#添加编译参数
-Dxxxxx=ON为依赖该模块
-Dxxxxx=OFF为不编译该模块
如想让videoio支持openni2,可加上-DWITH_OPENNI2=ON参数
cmake -D OPENCV_GENERATE_PKGCONFIG=YES -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules -DWITH_OPENNI2=ON ..
关于更多编译参数,查看opencv源码根目录下CMakelist.txt中的[OpenCV cmake options]段
  • 编译失败解决方法

如果执行make出现某个模块无法编译通过,通常是该模块所需的依赖库未安装正确, 最暴力的解决方法是在cmake时添加-D BUILD_opencv_“模块名”=OFF参数,不编译该模块,
例如:cmake -D OPENCV_GENERATE_PKGCONFIG=YES -D OPENCV_EXTRA_MODULES_PATH=…/…/opencv_contrib-4.1.0/modules -D BUILD_opencv_python2=OFF …
也可以安装界面版cmake,sudo apt-get install cmake-qt-gui,
在菜单-开发中执行,填入src目录和build目录,点configure,来查看将要安装的模块 OPENCV_EXTRA_MODULES_PATH项中加入contrib/module的真实路径,再点configure选择模块,每选择或修改一次都要点configure,确认没问题后点generate生成make文件。

  • 路径检查
#系统中可能存在多份opencv,使用pkg-config查看安装的路径和版本
#整个系统最好只有一份opencv,将其他删除,用下面命令检查路径
pkg-config --cflags opencv4 #检查include路径
pkg-config --libs opencv4 #检查lib路径
  • 使用pkg-config添加编译依赖
    #使用pkg-config可以简化opencv的编译,如
g++ opencv_example.cpp `pkg-config --cflags opencv4` `pkg-config --libs opencv4` -o opencv_example

#注意上面不是单引号,是感叹号左边那个字符,新版本opencv搜出的libs里有个-lippicv,但这个在系统里没有,用sed去除

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: