树莓派安装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爬虫之使用urllib2组件抓取网页内容
Nov 04 Python
Python 文件管理实例详解
Nov 10 Python
Python基础教程之异常详解
Jan 10 Python
pandas去除重复列的实现方法
Jan 29 Python
python版DDOS攻击脚本
Jun 12 Python
django框架forms组件用法实例详解
Dec 10 Python
Python 实现递归法解决迷宫问题的示例代码
Jan 12 Python
python mysql 字段与关键字冲突的解决方式
Mar 02 Python
python Matplotlib模块的使用
Sep 16 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
Nov 13 Python
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
May 14 Python
浅谈pytorch中stack和cat的及to_tensor的坑
May 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
将兴奋、喜悦和坎加斯带到戴安娜:亚马逊公主
2020/03/03 欧美动漫
php写的带缓存数据功能的mysqli类
2012/09/06 PHP
php中删除数组的第一个元素和最后一个元素的函数
2015/03/07 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
js parseInt("08")未指定进位制问题
2010/06/19 Javascript
window.returnValue使用方法示例介绍
2014/07/03 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
jQuery页面刷新(局部、全部)问题分析
2016/01/09 Javascript
必备的JS调试技巧汇总
2016/07/20 Javascript
JS面试题---关于算法台阶的问题
2016/07/26 Javascript
Javascript中常用的检测方法小结
2016/10/08 Javascript
详解js中Json的语法与格式
2016/11/22 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
基于Javascript实现的不重复ID的生成器
2016/12/25 Javascript
浅谈在node.js进入文件目录的问题
2018/05/13 Javascript
使用JS判断移动端手机横竖屏状态
2018/07/30 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
ES6入门教程之Array.from()方法
2019/03/23 Javascript
微信小程序request请求封装,验签代码实例
2019/12/04 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
python 算法 排序实现快速排序
2012/06/05 Python
Python实现单词拼写检查
2015/04/25 Python
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
python实现textrank关键词提取
2018/06/22 Python
python文本数据处理学习笔记详解
2019/06/17 Python
Python银行系统实战源码
2019/10/25 Python
物流业务员岗位职责
2014/02/08 职场文书
家长学校实施方案
2014/03/15 职场文书
捐书倡议书
2014/08/29 职场文书
民主生活会剖析材料
2014/09/30 职场文书
《女娲补天》教学反思
2016/02/20 职场文书
2019年大学生职业生涯规划书最新范文
2019/03/25 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python