利用python调用摄像头的实例分析
作者:大雄45 发布时间:2022-01-03 22:10:14
标签:python,调用摄像头
这篇文章主要介绍了python调用摄像头的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
一、打开摄像头
import cv2
import numpy as np
def video_demo():
capture = cv2.VideoCapture(0)#0为电脑内置摄像头
while(True):
ret, frame = capture.read()#摄像头读取,ret为是否成功打开摄像头,true,false。 frame为视频的每一帧图像
frame = cv2.flip(frame, 1)#摄像头是和人对立的,将图像左右调换回来正常显示。
cv2.imshow("video", frame)
c = cv2.waitKey(50)
if c == 27:
break
video_demo()
cv2.destroyAllWindows()
二、打开摄像头并截图
import cv2
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 打开摄像头
while (1):
# get a frame
ret, frame = cap.read()
frame = cv2.flip(frame, 1) # 摄像头是和人对立的,将图像左右调换回来正常显示
# show a frame
cv2.imshow("capture", frame) # 生成摄像头窗口
if cv2.waitKey(1) & 0xFF == ord('q'): # 如果按下q 就截图保存并退出
cv2.imwrite("test.png", frame) # 保存路径
break
cap.release()
cv2.destroyAllWindows()
三、打开摄像头并不断实时截屏
def video_demo():
print('开始')
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 电脑自身摄像头
i = 0#定时装置初始值
photoname = 1#文件名序号初始值
while True:
i = i + 1
reg, frame = cap.read()
frame = cv2.flip(frame, 1) # 图片左右调换
cv2.imshow('window', frame)
if i == 50: # 定时装置,定时截屏,可以修改。
filename = str(photoname) + '.png' # filename为图像名字,将photoname作为编号命名保存的截图
cv2.imwrite('C:/Users/Administrator/Desktop/m' + '\\' + filename, frame) # 截图 前面为放在桌面的路径 frame为此时的图像
print(filename + '保存成功') # 打印保存成功
i = 0 # 清零
photoname = photoname + 1
if photoname >= 20: # 最多截图20张 然后退出(如果调用photoname = 1 不用break为不断覆盖图片)
# photoname = 1
break
if cv2.waitKey(1) & 0xff == ord('q'):
break
# 释放资源
cap.release()
video_demo()
cv2.destroyAllWindows()
来源:http://blog.itpub.net/69955379/viewspace-2726596/


猜你喜欢
- 很多朋友对FrontPage2003中增加的网页布局功能很感兴趣,现在我们一起来深入了解这一实用功能。用FrontPage2003的“布局表
- filetype.pySmall and dependency free Python package to infer file type
- 上文:栅格:从混乱到秩序Jacci Howard Bear 的英文原文:http://desktoppub.about.com/od/gri
- 函数没有SQL的可移植性强 能运行在多个系统上的代码称为可移植的(portable)。相对来说,多数SQL语句是可移植的,在SQL实现之间有
- 在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。我们最常
- HTML:<%-- 右键菜单 --%><div id="zTreeRightMenuContainer"
- 题:取表table中100条-200条之间数据 方法1:临时表 select top 200 * into #aa from table o
- 本文实例讲述了js鼠标按键事件和键盘按键事件用法。分享给大家供大家参考,具体如下:keydown,keyup,keypress:属于你的键盘
- 本文实例讲述了Smarty实现页面静态化(生成HTML)的方法。分享给大家供大家参考,具体如下:为了减少数据库读取次数,某些内容不经常被更改
- 因为概率问题,所以需要测试一下python的随机数分布。到底是平均(均匀)分布,还是正态(高斯)分布。测试代码如下:#! /usr/bin/
- 一 MySQL Workbench MySQL Workbench提供DBAs和developers一个集成工具环境: 1)数据库设计和建模
- 一、准备工程文件1.创建工程leeoo2.在工程根目录下创建setup.py文件3.在工程根目录下创建同名package二、编辑setup.
- 严格控制Session可以将不需要Session的内容(比如帮助画面,访问者区域,等等)移动到关闭Session的独立ASP应用程序中。在基
- 一个非常实用的小方法试想一下,Django中如果我们想对保存进数据库的数据做校验,有哪些实现的方法?我们可以在view中去处理,每当view
- Codeigniter支持缓存技术,以达到最快的速度。尽管CI已经相当高效了,但是网页中的动态内容、主机的内存CPU和数据库读取速度等因素直
- 由于我已经安装了anaconda,所以不在赘述,下载可以上清华镜像版下载 https://mirrors.tuna.tsinghua.edu
- 本文实例讲述了PHP实现的微信公众号扫码模拟登录功能。分享给大家供大家参考,具体如下:PHP微信公众号扫码模拟登录功能功能只是将:https
- 1.下载mysql的repo源$ wget http://repo.mysql.com/mysql-community-release-el
- 1、面向对象【三大显著特征】: 封装、继承、多态1、封装【解释】: 封装的本质就是将有关联的代码组合在一起。【优势】:保
- Python中的模块(.py文件)在创建之初会自动加载一些内建变量,__name__就是其中之一。Python模块中通常会定义很多变量和函数