树莓派安装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实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
Python数据操作方法封装类实例
Jun 23 Python
Python使用gRPC传输协议教程
Oct 16 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
May 03 Python
对python3 sort sorted 函数的应用详解
Jun 27 Python
python+selenium select下拉选择框定位处理方法
Aug 24 Python
numpy中三维数组中加入元素后的位置详解
Nov 28 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
May 15 Python
解决Keras中CNN输入维度报错问题
Jun 29 Python
Python如何读写字节数据
Aug 05 Python
python模块内置属性概念及实例
Feb 18 Python
python对文档中元素删除,替换操作
Apr 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
全国FM电台频率大全 - 28 甘肃省
2020/03/11 无线电
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
discuz免激活同步登入代码修改方法(discuz同步登录)
2013/12/24 PHP
PHP之uniqid()函数用法
2014/11/03 PHP
PHP获取文件行数的方法
2015/06/10 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
2016/02/23 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
字符串的replace方法应用浅析
2011/12/06 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
bootstrap table sum总数量统计实现方法
2017/10/29 Javascript
ES10 特性的完整指南小结
2019/03/04 Javascript
node.js使用stream模块实现自定义流示例
2020/02/13 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
JS端基于download.js实现图片、视频时直接下载而不是打开预览
2020/05/09 Javascript
[56:20]LGD vs VP Supermajor 败者组决赛 BO3 第三场 6.10
2018/07/04 DOTA
Python3里的super()和__class__使用介绍
2015/04/23 Python
Python中__slots__属性介绍与基本使用方法
2018/09/05 Python
Django分页功能的实现代码详解
2019/07/29 Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
2020/01/25 Python
django使用多个数据库的方法实例
2021/03/04 Python
使用JS+CSS3技术:让你的名字动起来
2013/04/27 HTML / CSS
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
Ejb技术面试题
2015/04/29 面试题
大学生农村教师实习自我鉴定
2013/09/21 职场文书
财务会计专业推荐信
2013/11/30 职场文书
《蓝色的树叶》教学反思
2014/02/24 职场文书
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
房屋转让协议书
2014/10/18 职场文书
婚前协议书范本
2014/10/27 职场文书
三孔导游词
2015/02/05 职场文书
SQL Server表分区删除详情
2021/10/16 SQL Server