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

一、安装准备

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),我的文件夹地址如图片中所示:
在这里插入图片描述注意解压好的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__

在这里插入图片描述
或者如下命令:

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

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

pip3 install opencv-python
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值