树莓派安装OpenCV3完整过程的实现


Posted in Python onOctober 10, 2019

1. 配置并更新树莓派系统

sudo raspi-config // 进入后打开摄像头、SSH
sudo apt-get update
sudo apt-get upgrade
sudo rpi-update

2. 安装OpenCV的相关工具

sudo apt-get install build-essential cmake git pkg-config

3. 安装OpenCV的图像工具包

sudo apt-get install libjpeg8-dev 
sudo apt-get install libtiff5-dev 
sudo apt-get install libjasper-dev 
sudo apt-get install libpng12-dev

4. 安装视频I/O包

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

5.安装gtk2.0和优化函数包

sudo apt-get install libgtk2.0-dev
sudo apt-get install libatlas-base-dev gfortran

6. 下载OpenCV源码

可以在 [ OpenCV ] 查看所有版本源码

git clone https://github.com/opencv/opencv.git

7. 安装OpenCV

// 根据下载的版本而定
cd opencv-3.2.0 
// 创建release文件夹
mkdir release
// 进入release目录下
cd release
// cmake读入所有源文件之后,自动生成makefile
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local ..
// 编译
sudo make
// 安装
sudo make install
//更新动态链接库
sudo ldconfig

8. 解决无法打开摄像头硬件问题

sudo nano /etc/modules
// 进入编辑界面后,在末尾添加输入
snd-bcm2835
bcm2835-v4l2

树莓派安装OpenCV3完整过程的实现

9. 测试用例Python代码

# -*- coding: utf-8 -*-
__author__ = "kyoRan"

import cv2

cap = cv2.VideoCapture(0)          # 打开摄像头
print("VideoCapture is opened?", cap.isOpened())

while(True):

 ret, frame = cap.read()          # 读取摄像头图像
 center = (frame.shape[1]//2, frame.shape[0]//2)    # 图像中心点位置

 gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)    # 转灰度
 cv2.circle(gray, center=center, radius=100, color=(0,0,255)) # 画圆
 cv2.imshow("frame", gray)         # 显示图片

 if cv2.waitKey(1) & 0xFF == ord('q'):
  break

cap.release()   # 释放摄像头
cv2.destroyAllWindows() # 关闭所有窗口

测试结果如下

树莓派安装OpenCV3完整过程的实现

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python操作字符串之rindex()方法的使用
May 19 Python
Pandas探索之高性能函数eval和query解析
Oct 28 Python
python读取文本绘制动态速度曲线
Jun 21 Python
修改python plot折线图的坐标轴刻度方法
Dec 13 Python
Python判断是否json是否包含一个key的方法
Dec 31 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
Jan 22 Python
如何基于windows实现python定时爬虫
May 01 Python
python 解决Fatal error in launcher:错误问题
May 21 Python
Django+Celery实现动态配置定时任务的方法示例
May 26 Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 Python
python自动化测试三部曲之request+django实现接口测试
Oct 07 Python
python编程学习使用管道Pipe编写优化代码
Nov 20 Python
树莓派极简安装OpenCv的方法步骤
Oct 10 #Python
python 利用jinja2模板生成html代码实例
Oct 10 #Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
Oct 10 #Python
利用pandas合并多个excel的方法示例
Oct 10 #Python
python匿名函数的使用方法解析
Oct 10 #Python
Python切图九宫格的实现方法
Oct 10 #Python
python 3.7.4 安装 opencv的教程
Oct 10 #Python
You might like
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
php ftp文件上传函数(基础版)
2010/06/03 PHP
基于Zend的Config机制的应用分析
2013/05/02 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
php实现的redis缓存类定义与使用方法示例
2017/08/09 PHP
ThinkPHP5 验证器的具体使用
2018/05/31 PHP
弹出广告特效代码(一个IP只弹出一次)
2007/05/11 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
2015/10/10 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
Node错误处理笔记之挖坑系列教程
2018/06/05 Javascript
如何通过setTimeout理解JS运行机制详解
2019/03/23 Javascript
Vue快速实现通用表单验证功能
2019/12/05 Javascript
Vue学习之axios的使用方法实例分析
2020/01/06 Javascript
[49:31]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第二场 1月29日
2021/03/11 DOTA
python pandas实现excel转为html格式的方法
2018/10/23 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
django项目简单调取百度翻译接口的方法
2019/08/06 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
python利用proxybroker构建爬虫免费IP代理池的实现
2021/02/21 Python
Linux开机引导的步骤是什么
2015/10/19 面试题
军训 自我鉴定
2014/02/03 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
采购求职信
2014/03/17 职场文书
销售类求职信
2014/06/13 职场文书
高三霸气励志标语
2014/06/24 职场文书
银行求职自荐书
2014/06/25 职场文书
学生会竞选演讲稿学习部
2014/08/25 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
导游词之山东红叶谷
2019/10/31 职场文书