Ubuntu16.04+python3.5+opencv3.3.1+opencv_contrib编译安装

本文介绍如何在Ubuntu16.04上安装OpenCV3.3.1及opencv_contrib算法库,包括文件准备、安装编译依赖、配置编译选项等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记录安装过程

Ubuntu16.04 默认自带python3.5.2版本,因此我们基于此版本编译安装opencv3.3.1,顺带一起把opencv_contrib算法库一起编译安装,免得后续麻烦。(官方教程:https://docs.opencv.org/trunk/d7/d9f/tutorial_linux_install.html)

一、文件准备

OpenCV3.3.1:https://github.com/opencv/opencv/archive/3.3.1.zip

解压文件:
unzip opencv-3.3.1.zip
unzip opencv_contrib-3.3.1.zip
将contrib复制到opencv中,并新建build
cp -r opencv_contrib-3.3.1 opencv-3.3.1 #复制opencv_contrib到opencv目录下
cd opencv-3.3.1
mkdir build#新建文件夹build
文件结构如图

二、安装编译依赖
安装依赖包
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 python3-dev python3-numpy libtbb2 libtbb-devlibjpeg-devlibpng-devlibtiff-devlibjasper-devlibdc1394-22-devsudo apt-getinstall pkg-config
sudo apt-get install pkg-config
三、编译
   这一步最为关键的是编译选项
  进入build文件:
cd build
  编译命令
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D PYTHON3_EXECUTABLE=/usr/bin/python3 \
-D PYTHON_INCLUDE_DIR=/usr/include/python3.5 \
-D PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.5m.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.5/dist-packages/numpy/core/include \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=OFF \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.3.1/modules \
-D PYTHON_EXECUTABLE=/usr/lib/python3 \
-D BUILD_EXAMPLES=ON ..
       通过whereis python3查看自己机器对应的路径是否一致,基本上使用ubuntu16.04自带的python版本,上述这个路径就没有问题。
   参数解释:【官方】
   
回车确认执行编译检查后如图

PS:这里有个坑,我遇到过几次发现Python(for build):/usr/bin/python2.7 一直没有排查出问题,仔细检查参数也是正确的,然后实在无奈呢,尝试重新解压从头开始,mkdir build ……,上述命令又正确了,最后Python(for build) 是python3
执行make:
make -j16 
PS:这里的16代表你编译的核心数,看自己的机器决定!我这里用的32核的Dell T630,所以就用了16个核心进行编译。经过大约几分钟等待后,如图编译成功

执行安装
sudo make install

查看安装是否成功
import cv2
cv2.__version__




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值