树莓派安装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编写一个国际象棋AI程序
Nov 28 Python
Python中用memcached来减少数据库查询次数的教程
Apr 07 Python
python版本的读写锁操作方法
Apr 25 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
Nov 29 Python
python正则表达式爬取猫眼电影top100
Feb 24 Python
Python 画出来六维图
Jul 26 Python
python绘制BA无标度网络示例代码
Nov 21 Python
python实现npy格式文件转换为txt文件操作
Jul 01 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
Jul 09 Python
python 利用PyAutoGUI快速构建自动化操作脚本
May 31 Python
学会Python数据可视化必须尝试这7个库
Jun 16 Python
python 进阶学习之python装饰器小结
Sep 04 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实现的获取URL信息的类
2007/01/02 PHP
一个比较简单的PHP 分页分组类
2009/12/10 PHP
php 冒泡排序 交换排序法
2011/05/10 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
php微信公众号开发(3)php实现简单微信文本通讯
2016/12/15 PHP
ecshop添加菜单及权限分配问题
2017/11/21 PHP
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现
2010/02/26 Javascript
jquery ui对话框实例代码
2013/05/10 Javascript
简单的Jquery遮罩层代码实例
2013/11/14 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
2014/08/18 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
Angular中ng-repeat与ul li的多层嵌套重复问题
2017/07/24 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
js实现课堂随机点名系统
2019/11/21 Javascript
vue组件实现移动端九宫格转盘抽奖
2020/10/16 Javascript
用python实现批量重命名文件的代码
2012/05/25 Python
Python中最常用的操作列表的几种方法归纳
2015/04/24 Python
使用python检测主机存活端口及检查存活主机
2015/10/12 Python
python中如何使用朴素贝叶斯算法
2017/04/06 Python
Python流行ORM框架sqlalchemy安装与使用教程
2019/06/04 Python
Python代码一键转Jar包及Java调用Python新姿势
2020/03/10 Python
使用python计算三角形的斜边例子
2020/04/15 Python
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
会计电算化学生个人的自我评价
2014/02/08 职场文书
中学生评语大全
2014/04/18 职场文书
操行评语大全
2014/04/30 职场文书
会计个人实习计划书
2014/08/15 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
市场营销计划书
2015/01/17 职场文书
《索溪峪的野》教学反思
2016/02/19 职场文书
Python 把两层列表展开平铺成一层(5种实现方式)
2021/04/07 Python
python实现黄金分割法的示例代码
2021/04/28 Python