Ubuntu16.04/树莓派Python3+opencv配置教程(分享)
作者:你微笑很美 发布时间:2023-03-30 12:38:59
无论是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.安 * uild-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
来源:https://blog.csdn.net/qq_37910312/article/details/72866242


猜你喜欢
- 一、前言MySQL 中可以使用IFNULL函数判断一个值是否不为空。MySQL IFNULL 函数是 MySQL 控制流函数之一,它接受两个
- 例子一:Python用WMI模块获取windowns系统的硬件信息:硬盘分区、使用情况,内存大小,CPU型号,当前运行的进程,自启动程序及位
- 兼容当前HTML/XHTML文档是否有DTD声明:以下为程序代码:var xtop = document.documentElement.s
- 1.ROW_NUMBER()基本用法:SELECT SalesOrderID, CustomerID,
- 在 Python 中,函数可以通过以下语法定义和使用:def function_name(parameter1, parameter2, .
- 在编程时你一定碰到过时间触发的事件,在VB中有timer控件,而asp中没有,假如你要不停地查询数据库来等待一个返回结果的话,我想你一定知道
- 1.引言甘特图已经拥有 100 多年的历史,这种可视化图表对项目管理非常有用。Henry Gantt 为了分析已经完成的项目创建了甘特图,他
- 本文实例讲述了PHP实现将浏览历史页面网址保存到cookie的方法。分享给大家供大家参考。具体如下:将浏览历史页面网址保存到cookie,大
- 本文实例讲述了Python使用爬虫爬取静态网页图片的方法。分享给大家供大家参考,具体如下:爬虫理论基础其实爬虫没有大家想象的那么复杂,有时候
- 了解触发器和事件(定时器)什么是触发器?概念: 触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一
- python线程池ThreadPoolExecutor,传单个参数和多个参数这是线程池传单个参数的from concurrent.futur
- 具体代码如下所述:< !DOCTYPE html > <html lang = "en" > &
- 关于IE9,微软逐渐提供越来越多的内容。很多人想知道IE9有多少模式和渲染引擎,今天IE项目主管Marc Silbey就此问题进行了解答。S
- 参与测试的浏览器:IE6 / IE7 / IE8 / FF3 / OP9.6 / SF3 / Chrome2操作系统:Windows蓝色理想
- 本文实例为大家分享了vue自定义过滤器创建和使用方法,供大家参考,具体内容如下过滤器:生活中有很多例子,净水器 空气净化器 。过滤器的作用:
- InnoDB给MySQL提供了具有提交,回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句
- 输入:数字m mm,n nn输出:m mm行n nn列的数字蛇形方阵1. 从方阵最左上角开始,顺时针向内填充。初始化一个m mm行n nn列
- 效果图:基于d3-v5, 依赖dagre-d3, 直接上代码:<!DOCTYPE html><html lang=&quo
- 类的定义# class是定义类的关键字,ClassName为类的名称class ClassName:# 在这里写其他内容passclass
- 前言最近在使用pytorch的时候,模型训练时,不需要使用forward,只要在实例化一个对象中传入对应的参数就可以自动调用 forward