ubuntu18.04+python3.6.9下安装opencv4.1.1

ubuntu18.04+python3.6.9下安装opencv4.1.1

  • 一、安装准备
    • 1.下载opencv和opencv_contirb
      • 1.1官网链接+github
      • 1.2或者百度网盘
    • 2.安装cmake
    • 3.安装依赖
  • 二、通过编译安装
    • 1.创建文件夹并解压zip
    • 2.创建build文件夹并编译
      • 安装好了后就是编译
      • 遇到报错
  • 测试

一、安装准备

1.下载opencv和opencv_contirb

1.1官网链接+github

opencv-4.1.1
opencv_contirb-4.1.1

1.2或者百度网盘

opencv4.1.1网盘链接 密码: jh4d
opencv_contirb-4.1.1 密码: hws3

2.安装cmake

sudo apt-get install cmake
cmake -version

3.安装依赖

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config 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

其中第三行命令安装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的依赖包

在安装opencv4前我就有部分依赖,可能是因为安装了ros2的原因,所以如果要用ros2的同志可以先下载ros2,这样会省去一些依赖的安装

二、通过编译安装

1.创建文件夹并解压zip

在一个相对浅层的地方随便建立一个文件夹(我的叫repos),我的文件夹地址如图片中所示:
ubuntu18.04+python3.6.9下安装opencv4.1.1_第1张图片注意解压好的opencv_contirb-4.1.1文件夹要放在opencv-4.1.1文件夹里面
修正:其实opencv_contirb-4.1.1放在任意的地方都可以,只要在cmake的参数里面指定好路径即可

2.创建build文件夹并编译

cd opencv-4.1.1/
sudo mkdir build
cd build

安装好了后就是编译

下面两种编译方式任选一种即可,第一种包含了扩展模型,编译时间稍微加长,第二种是去掉了扩展模型

版本一:

sudo cmake -D CMAKE_BUILD_TYPE=Release -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 -D PYTHON_INCLUDE_DIR=/usr/include/python3.6 -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.6m -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ -D OPENCV_GENERATE_PKGCONFIG=ON -D BUILD_opencv_python2=OFF -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/repos/opencv-4.1.1/opencv_contrib-4.1.1/modules ..

注意最后一句话的opencv扩展模型路径要对应改到你自己先前建立的文件路径下

版本二,去掉了最后一句话:

sudo cmake -D CMAKE_BUILD_TYPE=Release -D PYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 -D PYTHON_INCLUDE_DIR=/usr/include/python3.6 -D PYTHON_INCLUDE_DIR2=/usr/include/x86_64-linux-gnu/python3.6m -D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so -D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ -D OPENCV_GENERATE_PKGCONFIG=ON -D BUILD_opencv_python2=OFF -D CMAKE_INSTALL_PREFIX=/usr/local ..

进行编译:

sudo make -j8
可以使用sudo make -j 8 、sudo make -j4 、sudo make 
我这里就使用sudo make -j 8了

然后安装

sudo make install

遇到报错

在这里插入图片描述
报错原因1:没有安装Eigen库

sudo apt-get install libeigen3-dev

报错原因2:找不到Eigen库
路径映射一下

sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen

然后重新编译,成功。

测试

在终端输入

python3
import cv2
cv2.__version__

ubuntu18.04+python3.6.9下安装opencv4.1.1_第2张图片
或者如下命令:

pkg-config opencv --modversion
pkg-config opencv --libs
pkg-config --cflags opencv

如果在python3中import cv2失败,如下命令:

pip3 install opencv-python

你可能感兴趣的:(笔记,ubuntu,opencv)