树莓派安装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写的一个简单监控系统
Jun 19 Python
详解Python中的序列化与反序列化的使用
Jun 30 Python
Python聚类算法之DBSACN实例分析
Nov 20 Python
Python随手笔记第一篇(2)之初识列表和元组
Jan 23 Python
Python+selenium实现截图图片并保存截取的图片
Jan 05 Python
python3.x实现发送邮件功能
May 22 Python
破解安装Pycharm的方法
Oct 19 Python
Python对wav文件的重采样实例
Feb 25 Python
Python解释器及PyCharm工具安装过程
Feb 26 Python
Python yield生成器和return对比代码实例
Apr 20 Python
python反扒机制的5种解决方法
Feb 06 Python
Python djanjo之csrf防跨站攻击实验过程
May 14 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
1 Tube Radio
2021/03/02 无线电
在 PHP 中使用随机数的三个步骤
2006/10/09 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
php随机抽奖实例分析
2015/03/04 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
php 静态属性和静态方法区别详解
2017/04/09 PHP
document.open() 与 document.write()的区别
2007/08/13 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
简单实用的全选反选按钮例子
2013/10/18 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
js删除局部变量的实现方法
2016/06/25 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
nodejs简单实现TCP服务器端和客户端的聊天功能示例
2018/01/04 NodeJs
关于react-router/react-router-dom v4 history不能访问问题的解决
2018/01/08 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
vue 更改连接后台的api示例
2019/11/11 Javascript
JavaScript运动原理基础知识详解
2020/04/02 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
[00:32]2018DOTA2亚洲邀请赛OpTic出场
2018/04/03 DOTA
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
python实现剪切功能
2019/01/23 Python
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
CSS3实现水平居中、垂直居中、水平垂直居中的实例代码
2020/02/27 HTML / CSS
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
英国最大的宝石首饰超市:QP Jewellers
2018/09/23 全球购物
2014年关于两会精神的心得体会
2014/03/17 职场文书
个人公司授权委托书范本
2014/10/12 职场文书
追悼会悼词大全
2015/06/23 职场文书
暑假打工感想
2015/08/07 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书