python+opencv实现摄像头调用的方法


Posted in Python onJune 22, 2019

最近入了一块树莓派,想让其实现摄像头的调用,因此写下此博客备忘

一、树莓派网络的配置

首先,对树莓派进行网络配置,否则就无法进行软件的安装

我们知道,ifconfig命令可以修改ip地址、子网掩码等信息,但是当设备重启之后必须重新设置

因此,我们使用如下方法进行网络配置

修改/etc/network/interfaces

python+opencv实现摄像头调用的方法

其中,红色框选中的为需要修改的部分

auto eth0             //设为开机启动eth0
iface eth0 inet static      //设为静态ip
address 10.215.45.99       //ip地址
netmask 255.255.0.0        //子网掩码
gateway 10.215.250.250      //网关
 
dns-nameservers 114.114.114.114  //设置dns服务器

设置完毕重新启动网络服务

service networking restart

终端输入ping www.baidu.com,发现成功ping通,则表示配置成功

网络配置完成后,请更换树莓派的更新源,在此就不赘述

二、python-opencv的安装

终端输入

apt-get install python2.7-dev    //本人的python版本为2.7
apt-get install python-opencv    //python2的cv安装直接运行此命令即可

终端输入python,在python界面下输入import cv2,如果没有报错信息,则表示安装成功

如果安装不成功,可以使用python的包管理工具pip进行opencv-python(opencv的python接口)的安装

apt install python-pip     //安装pip
pip --version         //查看pip的版本信息
 
pip install opencv-python   //安装opencv-python

接下来就可以运行实例检测是否配置成功

# by Bend_Function
 
import cv2
cap = cv2.VideoCapture(0)        # 打开摄像头
 
while True:
  ret, frame = cap.read()       # 读摄像头
  cv2.imshow("video", frame) 
  if cv2.waitKey(1) & 0xFF == ord('q'):  # 按q退出
    break
    
cap.release()      
cv2.destroyAllWindows()    # 基本操作

终端输入

python test.py(文件名)

但是却出现错误提示如下:

cv2.error: /build/opencv-SviWsf/opencv-2.4.9.1+dfsg/modules/highgui/src/window.cpp:269: error: (-215) size.width>0 && size.height>0 in function imshow

就在我百思不得其解时,突然意识到了我的摄像头还没有插!

果然,插上摄像头就成功显示了!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现挑选出来100以内的质数
Mar 24 Python
python中的全局变量用法分析
Jun 09 Python
Python多线程下载文件的方法
Jul 10 Python
简单谈谈python中的多进程
Nov 06 Python
同时安装Python2 & Python3 cmd下版本自由选择的方法
Dec 09 Python
Python中的引用知识点总结
May 20 Python
python使用for...else跳出双层嵌套循环的方法实例
May 17 Python
Python 程序员必须掌握的日志记录
Aug 17 Python
详解Python中list[::-1]的几种用法
Nov 16 Python
python 高阶函数简单介绍
Feb 19 Python
深入探讨opencv图像矫正算法实战
May 21 Python
python疲劳驾驶困倦低头检测功能的实现
Apr 04 Python
python算法与数据结构之冒泡排序实例详解
Jun 22 #Python
分析运行中的 Python 进程详细解析
Jun 22 #Python
机器学习实战之knn算法pandas
Jun 22 #Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
Jun 21 #Python
pyinstaller打包单个exe后无法执行错误的解决方法
Jun 21 #Python
pyinstaller打包多个py文件和去除cmd黑框的方法
Jun 21 #Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
Jun 21 #Python
You might like
php定界符
2014/06/19 PHP
PHP浮点比较大小的方法
2016/02/14 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
PHP获取MySQL执行sql语句的查询时间方法
2018/08/21 PHP
PHP正则验证字符串是否为数字的两种方法并附常用正则
2019/02/27 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
jquery ajax同步异步的执行最终解决方案
2013/04/26 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
浅谈javascript的call()、apply()、bind()的用法
2016/02/21 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
原生javascript 学习之js变量全面了解
2016/07/14 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
微信小程序 判断手机号的实现代码
2017/04/19 Javascript
Vue中img的src属性绑定与static文件夹实例
2017/05/18 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
[20:21]《一刀刀一天》第十六期:TI国际邀请赛正式打响,总奖金超过550万
2014/05/23 DOTA
[57:53]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#3OG VS VP
2016/03/03 DOTA
Python urllib模块urlopen()与urlretrieve()详解
2013/11/01 Python
Python中基础的socket编程实战攻略
2016/06/01 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
Pycharm Git 设置方法
2020/09/15 Python
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
用HTML5制作烟火效果的教程
2015/05/12 HTML / CSS
爱情检讨书大全
2014/01/21 职场文书
生产部厂长职位说明书
2014/03/03 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
关于车尾的标语大全
2015/08/11 职场文书
react如何快速设置文件路径别名
2021/04/28 Javascript
javascript的var与let,const之间的区别详解
2022/02/18 Javascript
python超详细实现完整学生成绩管理系统
2022/03/17 Python