树莓派安装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执行等待程序直到第二天零点的方法
Apr 23 Python
基于python的Tkinter实现一个简易计算器
Dec 31 Python
Python简单定义与使用字典dict的方法示例
Jul 25 Python
基于python中staticmethod和classmethod的区别(详解)
Oct 24 Python
pycharm重置设置,恢复默认设置的方法
Oct 22 Python
python 用下标截取字符串的实例
Dec 25 Python
Python反爬虫技术之防止IP地址被封杀的讲解
Jan 09 Python
python实现月食效果实例代码
Jun 18 Python
Django使用模板后无法找到静态资源文件问题解决
Jul 19 Python
对python while循环和双重循环的实例详解
Aug 23 Python
Python使用python-docx读写word文档
Aug 26 Python
Python 数据可视化之Bokeh详解
Nov 02 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的SQL注入实现(测试代码安全不错)
2011/02/27 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
PHP中的错误处理、异常处理机制分析
2012/05/07 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
javascript 写类方式之九
2009/07/05 Javascript
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
javascript 操作select下拉列表框的一点小经验
2010/03/20 Javascript
node.js下LDAP查询实例分享
2015/09/30 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
node安装--linux下的快速安装教程
2017/03/21 Javascript
Node.js使用MySQL连接池的方法实例
2018/02/11 Javascript
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
2019/02/14 jQuery
JS实现点击li标签弹出对应的索引功能【案例】
2019/02/18 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
微信小程序传值以及获取值方法的详解
2019/04/29 Javascript
微信小程序API—获取定位的详解
2019/04/30 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
2019/09/05 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
vue使用screenfull插件实现全屏功能
2020/09/17 Javascript
[49:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 KG VS TNC
2018/03/31 DOTA
Python实现列表删除重复元素的三种常用方法分析
2017/11/24 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
python实现文件的分割与合并
2019/08/29 Python
python编写简单端口扫描器
2019/09/04 Python
天巡全球:Skyscanner Global
2017/06/20 全球购物
植村秀加拿大官网:Shu Uemura加拿大
2019/09/03 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
什么是继承
2013/12/07 面试题
绩效专员岗位职责
2013/12/02 职场文书
学生生病请假条范文
2014/02/16 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
项目负责人任命书
2014/06/04 职场文书
我的中国梦演讲稿高中篇
2014/08/19 职场文书
Python采集股票数据并制作可视化柱状图
2022/04/04 Python
基于Android10渲染Surface的创建过程
2022/08/14 Java/Android