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


Posted in Python onApril 02, 2018

无论是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基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
Python基于jieba库进行简单分词及词云功能实现方法
Jun 16 Python
python 借助numpy保存数据为csv格式的实现方法
Jul 04 Python
对Python 3.5拼接列表的新语法详解
Nov 08 Python
对python中词典的values值的修改或新增KEY详解
Jan 20 Python
Python判断变量名是否合法的方法示例
Jan 28 Python
python使用wxpy实现微信消息防撤回脚本
Apr 29 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
Jun 05 Python
python for和else语句趣谈
Jul 02 Python
利用anaconda作为python的依赖库管理方法
Aug 13 Python
python2使用bs4爬取腾讯社招过程解析
Aug 14 Python
快速一键生成Python爬虫请求头
Mar 04 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
Apr 02 #Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
Apr 02 #Python
Window10+Python3.5安装opencv的教程推荐
Apr 02 #Python
Python浅复制中对象生存周期实例分析
Apr 02 #Python
python基础教程项目五之虚拟茶话会
Apr 02 #Python
Python实现批量读取图片并存入mongodb数据库的方法示例
Apr 02 #Python
python基础教程项目四之新闻聚合
Apr 02 #Python
You might like
php获取post中的json数据的实现方法
2011/06/08 PHP
php中serialize序列化与json性能测试的示例分析
2013/04/27 PHP
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
php中autoload的用法总结
2013/11/08 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
PHP实现的XXTEA加密解密算法示例
2018/08/28 PHP
PHP实时统计中文字数和区别
2019/02/28 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
Javascript基础教程之argument 详解
2015/01/18 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
javascript插件开发的一些感想和心得
2016/02/28 Javascript
jQuery的框架介绍
2016/05/11 Javascript
JavaScript绑定事件监听函数的通用方法
2016/05/14 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
微信小程序中post方法与get方法的封装
2017/09/26 Javascript
Angularjs Promise实例详解
2018/03/15 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
Django实现图片文字同时提交的方法
2015/05/26 Python
Python实现批量下载图片的方法
2015/07/08 Python
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
python3中property使用方法详解
2019/04/23 Python
python科学计算之numpy——ufunc函数用法
2019/11/25 Python
Selenium alert 弹窗处理的示例代码
2020/08/06 Python
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
2014年会演讲稿范文
2014/01/06 职场文书
ktv服务员岗位职责
2015/02/09 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
总结Pyinstaller打包的高级用法
2021/06/28 Python
sql注入教程之类型以及提交注入
2021/08/02 MySQL