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

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去除

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值