Ubuntu16.04 + 源码编译OpenCV3.4.2
Ubuntu16.04 + 源码编译OpenCV3.4.2
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26239525/article/details/83059905
ubuntu基本环境配置请参考:
Ubuntu16.04 + cuda9.0 + cudnn_v7 + tensorflow-gpu + opencv3.4.2: https://blog.csdn.net/qq_26239525/article/details/82714116
OpenCV3.4.2源码下载:
https://codeload.github.com/opencv/opencv/zip/3.4.2
opencv_contrib-3.4.2.tar.gz下载:
https://codeload.github.com/opencv/opencv_contrib/tar.gz/3.4.2
ippicv_2017u3_lnx_intel64_general_20180518.tgz下载:
https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_[日期]/ippicv
比如我要用的3.4.2要求20180518这个版本,直接把[日期]替换成20180518即可,如下:
https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20180518/ippicv
face_landmark_model.dat下载:
https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat
安装过程:
1. 先安装依赖库 libgtk2.0-dev 和 pkg-config,否则后期编译会出现如下的问题:
The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script)
sudo apt-get install libgtk2.0-dev sudo apt-get install pkg-config
2. 安装依赖库:
sudo apt-get install build-essential sudo apt-get install cmake cmake-gui git libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev # 处理图像所需的包 sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev sudo apt-get install libxvidcore-dev libx264-dev # 处理视频所需的包 sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能 sudo apt-get install ffmpeg
3. 安装OpenCV
mkdir ~/opencv # 将下载的文件拷贝到opencv目录下 unzip opencv-3.4.2.zip tar zxvf 3.4.2.tar.gz cd ~/opencv mkdir opencv-3.4.2-build # 将ippicv_2017u3_lnx_intel64_general_20180518.tgz文件拷贝到~/opencv/opencv-3.4.2-build # 终端输入 sudo gedit ~/opencv/opencv-3.4.2/3rdparty/ippicv/ippicv.cmake 将47行的: "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/" 更换成: "file:///home/x919/opencv/opencv-3.4.2-build" # x919换成自己的用户名 编辑完成,保存退出。 在编译过程中,由于需要从外网下载face_landmark_model.dat 所以需要将之前下载的face_landmark_model.dat放到到本地目录下,以便于编译过程从本地寻找文件,加速安装过程 sudo cp ~/下载/face_landmark_model.dat ~/opencv/opencv-3.4.2/.cache/data/ 然后需要更改此face_landmark_model.dat文件的名字 ls ~/opencv/opencv-3.4.2/.cache/data 应该是会有两个文件 cd ~/opencv/opencv-3.4.2/.cache/data sudo cp face_landmark_model.dat 7505c44ca4eb54b4ab1e4777cb96ac05-face_landmark_model.dat 每台机器应该不一样 到此准备工作就完成了,然后开始安装opencv3.4.2 # 终端输入 cmake-gui
更改这两个文件路径,然后点击configure,然后选择Unix Makefiles,选择Use default native compliers,然后点击Finish。 然后cmake就会载入默认配置。如下图所示:
将CMAKE_BUILD_TYPE更改为Release。然后Search python3,将路径更改为Anaconda下的python3下的路径,如下图所示:
将OPENCV_EXTRA_MODULES更改为以下路径:
然后点击Generate生成配置文件。 接下来进入opencv-3.4.2-build cd ~/opencv/opencv-3.4.2-build make -j8 sudo make install 完成编译安装 然后配置系统环境变量: sudo gedit /etc/ld.so.conf.d/opencv.conf 将以下内容添加进去: /usr/local/lib sudo ldconfig #配置库 sudo gedit /etc/bash.bashrc 在文件末尾加入: PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH 保存,然后关闭终端使配置生效。
测试:
import cv2 img = cv2.imread('~/opencv入门/image.jpg',1) cv2.imshow('image',img) cv2.waitKey (0)
"libopencv_hdf.so.3.4: cannot open shared object file: No such file or directory" 如果报出此错误,则: sudo find / -name "libopencv_hdf.so.3.4"
sudo gedit /etc/ld.so.conf.d/opencv.conf 将下句添加到文件末尾: /home/x919/opencv/opencv-3.4.2-build/lib sudo ldconfig 重新测试即可正常显示图片。阅读更多
- Ubuntu16.04+CUDA9+cudnn7+python3.5+源码编译Tensorflow1.4+opencv3.3
- Anaconda Python3.6 OpenCV3.3 Ubuntu 16.04源码编译
- Ubuntu 16.04 编译Android 6.0系统源码
- Ubuntu16.04+python3.5+opencv3.3.1+opencv_contrib编译安装
- 在Ubuntu16.04上编译安装opencv2.1.13全过程(附资源)
- 关于Ubuntu16.04安装opencv2.4.13及编译运行opencv程序的相关问题
- Ubuntu16.04的Opencv源码安装和解决无法导入cv2的问题
- win10 opencv 项目程序移植到 ubuntu16.04: 2.项目编译
- ubuntu 16.04 OpenCV3.2.0完全编译安装
- ubuntu16.04+CUDA8.0+cuDNN5.1+opencv2.4.13+Anaconda的caffe编译过程
- Ubuntu 17.04系统下源码编译安装opencv的步骤详解
- ubuntu 16.04 编译opencv3.1,opencv多版本切换
- NanoPi K2 (Amlogic S905) Ubuntu 16.04 编译Android 5.1系统源码
- Ubuntu 16.04 64bit 编译 Android 4.4 源码
- Ubuntu16.04 通过源码编译安装 MySQL 5.7.17
- Ubuntu16.04+opencv3.4.0+opencv_contrib3.4.0+CUDA9.0 编译安装
- 在ubuntu16.04上编译android源码【转】
- [Android 编译(一)] Ubuntu 16.04 LTS 成功编译 Android 6.0 源码教程
- ubuntu16.04 安装 opencv3.3.0 源代码编译
- Ubuntu16.04 从源码编译LLVM+Clang