Ubuntu16.04/树莓派Python3+opencv配置教程(分享)

yipeiwu_com5年前Python基础

无论是Windows、Linux、还是树莓派 。配置python3的opencv环境都是让人头大的一件事情,尤其是许多人用pip安装以后,发现opencv虽然装上了,但是却装在了系统原生的python2下。

笔者也是经历过很多次失败之后,才安装成功。

本文采用编译的方法配置opencv,每一步都有ubuntu和树莓派的分别配置,由于两个系统极其相似(可以说是基本一样),所以并在一文详解。

一般来说,只要按照步骤去安装配置,就不会出错。废话不多说,开始表演!

step1:准备工作

1.ubuntu

安装前的准备工作:

1.1.对Ubuntu apt-get仓库进行更新

sudo apt-get update && sudo apt-get upgrade

1.2.安装必要的python插件及一些环境

sudo apt-get install python3-setuptools python3-dev -y

1.3.安装pip

sudo easy_install3 pip

1.4.对pip进行的更新(非必要)

pip install --upgrade pip

1.5.安装numpy包

pip install numpy

一些通用的包:

1.6.安装build-essential

sudo apt-get install build-essential -y

1.7.其他的一些开发用包

sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev -y

2.树莓派

更新树莓派的系统与内核

2.1 sudo apt-get update

2.2 sudo apt-get upgrade

2.3 sudo rpi-update

更新内核时可能会报“No space left on device”错误,这是因为储存空间不足,最好在更新前检查内存使用(使用free命令即可)

step2:开始安装opencv

ubuntu/树莓派通用

1、首先,你要找一个合适的地方存放opencv的安装包,我选择的路径是~/Download/opencv

2、进入安装路径,并下载安装包

cd ~/Download/opencv
wget https://github.com/Itseez/opencv/archive/3.0.0.zip

3、下载完成后,需要创建编译后文件存放的路径:

unzip 3.0.0.zip && cd opencv-3.0.0
mkdir build && cd build

4、接下来一步,要小心小心按照本地路径来配置,在build目录下执行如下命令:

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local
PYTHON3_EXECUTABLE=/usr/bin/python3
PYTHON_INCLUDE_DIR=/usr/include/python3.4
PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.4m.so
PYTHON3_NUMPY_INCLUDE_DIRS=/usr/local/lib/python3.4/dist-packages/numpy/core/include ..

注意这里所有的是一行命令,每一个路径都要确保存在,不要忘记最后的两个点,大多时候树莓派和ubuntu在PYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.4m.so这个路径上会有不同,在树莓派中,cd到/usr/lib/目录下,找到一个目录下,存在libpython3.4m.so,(大不了一个一个找),找到了就记住路径替换即可。

这一步,主要是找到文件,比如找到python3.4 找到libpython3.4m.so 找到numpy/core/include 的路径,各自对应替换即可

5、最后执行安装命令:

make && sudo make install

记住是在build目录下执行,此步安装时间较长,可以先去看看opencv的入门教程神马的

6、如果你之前的步骤都完成了,那么恭喜你,开始验证吧

import cv2
>>> print(cv2.__version__)
... opencv-3.0.0 

以上这篇Ubuntu16.04/树莓派Python3+opencv配置教程(分享)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python中logging实例讲解

Python中logging实例讲解

logging 的基本用法网上很多,这里就不介绍了。在引入正文之前,先来看一个需求: 假设需要将某功能封装成类库供他人使用,如何处理类库中的日志? 数年前在一个 C# 开发的项目中,我用...

在Python程序中实现分布式进程的教程

在Python程序中实现分布式进程的教程

在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。 Py...

python 运用Django 开发后台接口的实例

python 运用Django 开发后台接口的实例

1 安装Django python -m pip install django 2 新建项目 my_api django-admin startproject my_api 自动生成 m...

python绘制条形图方法代码详解

python绘制条形图方法代码详解

1.首先要绘制一个简单的条形图 import numpy as np import matplotlib.pyplot as plt from matplotlib import m...

python中yield的用法详解——最简单,最清晰的解释

首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最简单...