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文件和目录操作函数小结
Jul 11 Python
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 Python
python数据结构之列表和元组的详解
Sep 23 Python
Ubuntu安装Jupyter Notebook教程
Oct 18 Python
Python简单实现控制电脑的方法
Jan 22 Python
使用PyQt4 设置TextEdit背景的方法
Jun 14 Python
Python使用type关键字创建类步骤详解
Jul 23 Python
python 动态调用函数实例解析
Oct 21 Python
Python建造者模式案例运行原理解析
Jun 29 Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 Python
python将图片转为矢量图的方法步骤
Mar 30 Python
Python使用sql语句对mysql数据库多条件模糊查询的思路详解
Apr 12 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个人网站架设连环讲(四)
2006/10/09 PHP
基于mysql的bbs设计(一)
2006/10/09 PHP
一个用于网络的工具函数库
2006/10/09 PHP
PHPMailer安装方法及简单实例
2008/11/25 PHP
php中的mongodb select常用操作代码示例
2014/09/06 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
通过jQuery源码学习javascript(一)
2012/12/27 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
2020/07/27 Javascript
JavaScript 获取滚动条位置并将页面滑动到锚点
2021/02/08 Javascript
ptyhon实现sitemap生成示例
2014/03/30 Python
python 字典中取值的两种方法小结
2018/08/02 Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
2019/01/30 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
Python从文件中读取指定的行以及在文件指定位置写入
2019/09/06 Python
python解决OpenCV在读取显示图片的时候闪退的问题
2021/02/23 Python
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
财务方面个人工作的自我评价
2013/12/28 职场文书
代理商会议邀请函
2014/01/27 职场文书
探亲假请假条
2014/04/11 职场文书
《假如》教学反思
2014/04/17 职场文书
乡镇遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
小学工作总结2015
2015/05/04 职场文书
音乐剧猫观后感
2015/06/04 职场文书
2016学雷锋优秀志愿者事迹材料
2016/02/25 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书
golang slice元素去重操作
2021/04/30 Golang
Jupyter notebook 更改文件打开的默认路径操作
2021/05/21 Python
Python re.sub 反向引用的实现
2021/07/07 Python
Redis Lua脚本实现ip限流示例
2022/07/15 Redis