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 相关文章推荐
在Mac OS上搭建Python的开发环境
Dec 24 Python
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 Python
python 文件操作api(文件操作函数)
Aug 28 Python
详解Python中for循环是如何工作的
Jun 30 Python
pytorch构建网络模型的4种方法
Apr 13 Python
Python退火算法在高次方程的应用
Jul 26 Python
使用python Fabric动态修改远程机器hosts的方法
Oct 26 Python
numpy数组之存取文件的实现示例
May 24 Python
pandas的qcut()方法详解
Jul 06 Python
解决Python列表字符不区分大小写的问题
Dec 19 Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
May 16 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 DOS攻击实现代码(附如何防范)
2012/05/29 PHP
解决php表单重复提交实现方法
2015/09/29 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
2015/12/24 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
json跟xml的对比分析
2008/06/10 Javascript
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
JavaScript对象创建及继承原理实例解剖
2013/02/28 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
JQuery实现的图文自动轮播效果插件
2015/06/19 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
Vue实现点击时间获取时间段查询功能
2020/08/21 Javascript
vue 国际化 vue-i18n 双语言 语言包
2018/06/07 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
2020/03/04 Javascript
Element MessageBox弹框的具体使用
2020/07/27 Javascript
Python中使用logging模块打印log日志详解
2015/04/05 Python
python发送邮件实例分享
2017/07/28 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
如何将Pycharm中调整字体大小的方式设置为"ctrl+鼠标滚轮上下滑"
2020/11/17 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
python 第三方库paramiko的常用方式
2021/02/20 Python
英国第一的市场和亚马逊替代品:OnBuy
2019/03/16 全球购物
阿拉伯时尚购物网站:Nisnass
2021/02/07 全球购物
校运会广播稿100字
2014/01/27 职场文书
土地转让协议书
2014/04/15 职场文书
学前班学生评语
2014/12/29 职场文书
单身申明具结书
2015/02/26 职场文书
mysql 生成连续日期及变量赋值
2022/03/20 MySQL