树莓派安装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里对list中的整数求平均并排序
Sep 12 Python
python使用PyGame绘制图像并保存为图片文件的方法
Apr 24 Python
python通过加号运算符操作列表的方法
Jul 28 Python
python 读入多行数据的实例
Apr 19 Python
python3读取csv和xlsx文件的实例
Jun 22 Python
Django实战之用户认证(初始配置)
Jul 16 Python
Python多线程原理与用法实例剖析
Jan 22 Python
pandas的排序和排名的具体使用
Jul 31 Python
python实现的爬取电影下载链接功能示例
Aug 26 Python
keras处理欠拟合和过拟合的实例讲解
May 25 Python
Python使用windows设置定时执行脚本
Nov 12 Python
PyCharm 光标变成黑块的解决方式
Feb 06 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数组函数序列之rsort() - 对数组的元素值进行降序排序
2011/11/02 PHP
PHP处理JSON字符串key缺少双引号的解决方法
2014/09/16 PHP
Zend Framework入门教程之Zend_Mail用法示例
2016/12/08 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
PHP切割汉字的常用方法实例总结
2019/04/27 PHP
使用隐藏的new来创建对象
2011/03/29 Javascript
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
详解JavaScript函数
2015/12/01 Javascript
jQuery中设置form表单中action值的实现方法
2016/05/25 Javascript
基于JS实现导航条flash导航条
2016/06/17 Javascript
[原创]jQuery常用的4种加载方式分析
2016/07/25 Javascript
微信小程序 wx:key详细介绍
2016/10/28 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
提升node.js中使用redis的性能遇到的问题及解决方法
2018/10/30 Javascript
vue里如何主动销毁keep-alive缓存的组件
2019/03/21 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
[42:23]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第二场 12.10
2020/12/13 DOTA
python装饰器深入学习
2018/04/06 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
2019/02/16 Python
python把转列表为集合的方法
2019/06/28 Python
如何基于pythonnet调用halcon脚本
2020/01/20 Python
python 实现rolling和apply函数的向下取值操作
2020/06/08 Python
利用PyTorch实现VGG16教程
2020/06/24 Python
python从PDF中提取数据的示例
2020/10/30 Python
白酒代理协议书范本
2014/10/26 职场文书
工程技术员岗位职责
2015/04/11 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
合作合同协议书
2016/03/21 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS