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中定义结构体的方法
Mar 04 Python
Python 遍历列表里面序号和值的方法(三种)
Feb 17 Python
Python HTTP客户端自定义Cookie实现实例
Apr 28 Python
Python基于多线程实现抓取数据存入数据库的方法
Jun 22 Python
详解Python中的内建函数,可迭代对象,迭代器
Apr 29 Python
python识别图像并提取文字的实现方法
Jun 28 Python
Django中自定义模型管理器(Manager)及方法
Sep 23 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
May 25 Python
python中_del_还原数据的方法
Dec 09 Python
python字符串常规操作大全
May 02 Python
Python中OpenCV实现查找轮廓的实例
Jun 08 Python
Python3中最常用的5种线程锁实例总结
Jul 07 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中删除变量时unset()和null的区别分析
2011/01/27 PHP
ThinkPHP项目分组配置方法分析
2016/03/23 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
javascript 写类方式之二
2009/07/05 Javascript
javascript中input中readonly和disabled区别介绍
2012/10/23 Javascript
javascript删除option选项的多种方法总结
2013/11/22 Javascript
JavaScript常用的返回,自动跳转,刷新,关闭语句汇总
2015/01/13 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
vue自定义全局共用函数详解
2018/09/18 Javascript
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
vue项目中实现缓存的最佳方案详解
2019/07/11 Javascript
详解element上传组件before-remove钩子问题解决
2020/04/08 Javascript
微信小程序实现可长按移动控件
2020/11/01 Javascript
原生JavaScript实现换肤
2021/02/19 Javascript
python用ConfigObj读写配置文件的实现代码
2013/03/04 Python
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
django和vue实现数据交互的方法
2019/08/21 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
通过实例解析Python调用json模块
2019/12/11 Python
flask 实现上传图片并缩放作为头像的例子
2020/01/09 Python
提高python代码运行效率的一些建议
2020/09/29 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
2021/02/06 Python
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
教师实习自我鉴定
2013/12/13 职场文书
小学运动会演讲稿
2014/08/25 职场文书
男人帮观后感
2015/06/18 职场文书
Python Parser的用法
2021/05/12 Python