Python常用模块之VideoCapture

官方网址:http://videocapture.sourceforge.net/
功能介绍:
VideoCapture是Win32版Python的一个扩展,可以访问视频采集设备(如USB摄像头)。它包含一个底层本地模块(vidcap.pyd)[1]和一个仅用Python编写的高层模块(VideoCapture.py)。还包括一些工具,可以用来定期上传摄像头拍摄的图像到网络服务器,监控并通过给定的URL保存图片到本地磁盘,等等。详细细节请参阅“Tools”目录下的“README.txt”文件。
模块下载:
注意事项:PIL 1.1.2及以前版本在使用.gif字体文件时会出现内存泄漏的情况。如果你打算使用VideoCapture 0.7以前的版本,请删除你Python安装目录下的Lib目录中的helvB08.gif文件和helvetica-10.gif文件 ! !
- 【VideoCapture-0.9-5.zip】下载链接:http://videocapture.sourceforge.net/VideoCapture-0.9-5.zip
 
使用依赖:
除Python和VideoCapture模块本身,你还需要以下组件:
- 底层模块使用DirectShow,DirectShow已经包含在DirectX 8.0和更高版本中。如果你没有安装DirectShow,请从微软相关网站上下载DirectX并安装。Windows XP系统本身已经集成了DirectX。
 - 高层模块需要使用PIL模块,从像素数据中解析出实际图片。PIL可硬从PythonWare网站上下载。
 - (可选)如果你想使用“scp”作为在webcam-uploader.py中传输方法,你可以选择scp2.exe,在SSH的安装文件中可以获取,或者选择pscp.exe,可以在PuTTY中获取。
 
安装模块:
要想使用VideoCapture,只需将文件从“PythonXX”文件夹复制到相应的“PythonXX”安装文件夹下,其中“XX”代表安装在你的操作系统上的Python版本,例如:Python27,XX就为27。
使用示例:
from VideoCapture import Device cam = Device()
cam.saveSnapshot('image.jpg')
- “Examples”夹中包含了几个简单的例子,可以直观的感受到使用VideoCapture从视频设备中获取图片,是十分便利的。参阅“exa2_show-possibilities.py”可以了解到更多额外的可用选项的详情。
 - 想了解更多详细信息,可以查看模块说明文档。
 
存在缺陷:
- setResolution()可能对设备分辨率属性值CaptureFilterProperties的设置不起作用。
 - 一些TV-cards在电视应用后终止后丢失调谐器(频道)设置,所以VideoCapture应该提供一种方法来显示调谐器的属性页。
 
相关内容:
如果你想从支持Twain协议的扫描仪或数码相机中获取照片,可以使用Kevin Gill的twainmodule模块。
历史版本:
(01.03.2012) Version 0.9-5
- 添加一个新方法到vidcapmodule.cpp文件中,可以获取Windows设备友好的名称(例如:Microsoft Lifecam VX-4000)。由Jeremy Mortis提供。
 
(15.04.2011) Version 0.9-4
- 包含与Python 2.7 64位链接的底层模块的预编译二进制文件,由Jurriaan Schreuder提供。
 
(04.10.2010) Version 0.9-3
- 包含与Python 2.7链接的底层模块的预编译二进制文件,由Chris Spencer提供。
 
(30.11.2008) Version 0.9-2
- 包含与Python 2.6链接的底层模块的预编译二进制文件,由Jim Gasbarro提供。
 
(8.1.2007) Version 0.9-1
- 包含与Python 2.5链接的底层模块的预编译二进制文件。
 
(27.8.2005) Version 0.9
- Jonathan Viney修复了在使用没有摄像头连接的模块时可能导致崩溃的错误。
 - 包含与Python 2.4链接的底层模块的预编译二进制文件。
 
(8.10.2003) Version 0.8
- 添加模块说明文档。
 - 将工程迁移到到SourceForge.net。
 - 包含与Python 2.3链接的底层模块的预编译二进制文件。
 - 加入Don Garrett和Don Kimber(Tools\3rdParty)的独立网络服务器。 Don Kimber的推送器很有意思。 现在我可以在Mozilla窗口中看到25fps的电视:-)
 - 添加了由Don Kimber贡献的setResolution()方法。(可能仅适用于具有CapturePinProperties中指定分辨率的设备。)
 - Don Kimber修复了在displayCapturePinProperties()中一个小但严重的不一致,有时会导致段错误。
 
(4.3.2002) Version 0.7
- 用.png字体代替.gif字体,因为PIL版本1.1.2及更低版本在使用.gif字体时显示内存泄漏。 如果您在0.7之前使用了VideoCapture的版本,请删除Python安装的Lib文件夹中的文件'helvB08.gif'和'helvetica-10.gif'。
 - 将displayPropertyPage()替换为displayCaptureFilterProperties()和displayCapturePinProperties()。这最终允许选择诸如在捕获期间为每种设备驱动程序使用的视频大小(现在也用于WDM驱动程序,以前仅适用于VfW驱动程序)。
 - 由于每次捕获时启动和停止图形过滤器,因为某些设备驱动程序存在一些内存泄漏问题,因此该图形将继续运行。 除了解决内存问题,这有很大的优势,拍摄快照现在真的很快。 每秒拍摄10张以上的快照是没有问题的:-)
 - scp现在也可以用pscp.exe程序,该程序可以在PuTTY发行版中找到。
 - 通过释放MediaType.pbFormat来修复一个小的内存泄漏。
 - 添加了DirectShow AMCAP实用程序,可用于检查捕获设备是否与VideoCapture兼容。
 
(20.2.2002) Version 0.6
- 包含与Python 2.2链接的底层模块的预编译二进制文件。
 - 将可独立运行的图形化程序webcam-watcher放到网页上。
 - 添加scp作为webcam-uploader的附加上传方法(另外是ftp)。
 - “Tools”文件夹中的所有程序的其他次要功能进行增强。
 - displayPropertyPage()对话框显示在所有其他窗口的顶部。
 - 在调用displayPropertyPage()后,重建图形过滤器。
 
(08.12.2001) Version 0.5
- 将过滤器初始化更改为使用捕获引脚而不是视频设备过滤器的预览引脚。 这应该可以解决一个奇怪的超时问题,甚至允许我从我的电视卡捕获快照:-)
 - 向Device类添加了一个方法displayPropertyPage(),该方法显示包含捕获设备的属性页面的对话框。这允许选择拍摄时使用的视频大小。
 
(10.7.2001) Version 0.4
- 添加了一个基于PyQt的程序,它定期从网络上检索图片并将其显示在GUI窗口中。
 - 网络摄像头上传器的几项改进。现在,还可以将显示上传的图像并定期重新载入的HTML文件与WebServer上的图像一起放置。
 
(28.6.2001) Version 0.3
- 包括与Python 2.1链接的底层模块的预编译二进制文件(除了已经包含与Python 2.0链接的)。
 - 添加了一个工具,通过FTP定期将WebCam映像上传到WebServer。
 - 添加了一个工具来监视(并在变更的情况下保存)位于给定URL的图片。
 - 同时可以打开多个设备实例。
 - 时间戳在图像中的位置是可选择的。
 
(24.6.2001) Version 0.2
- 在每次系统调用后增加广泛的错误检查。如果出现问题,会出现异常。
 - 对高层接口的一些改进,如可选择的字体风格,便于辨识的各种阴影模式。
 - 可以指定应该使用的视频设备。
 
(18.6.2001) Version 0.1
- 初始发行版本。
 
注解:
----------------------------正文结束----------------------------
感谢大家能够看到这里,谢谢!
初次翻译外文内容,希望大家不要吝啬话语,能够指出我的不足之处。
联系方式:1.博客文章下方留言 2.个人邮箱:zhwm9521@qq.com
Python常用模块之VideoCapture的更多相关文章
- Python常用模块之sys
		
Python常用模块之sys sys模块提供了一系列有关Python运行环境的变量和函数. 常见用法 sys.argv 可以用sys.argv获取当前正在执行的命令行参数的参数列表(list). 变量 ...
 - Python常用模块中常用内置函数的具体介绍
		
Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...
 - python——常用模块2
		
python--常用模块2 1 logging模块 1.1 函数式简单配置 import logging logging.debug("debug message") loggin ...
 - python——常用模块
		
python--常用模块 1 什么是模块: 模块就是py文件 2 import time #导入时间模块 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的 ...
 - Python常用模块——目录
		
Python常用模块学习 Python模块和包 Python常用模块time & datetime &random 模块 Python常用模块os & sys & sh ...
 - python 常用模块之random,os,sys 模块
		
python 常用模块random,os,sys 模块 python全栈开发OS模块,Random模块,sys模块 OS模块 os模块是与操作系统交互的一个接口,常见的函数以及用法见一下代码: #OS ...
 - python常用模块之时间模块
		
python常用模块之时间模块 python全栈开发时间模块 上次的博客link:http://futuretechx.com/python-collections/ 接着上次的继续学习: 时间模块 ...
 - python常用模块之subprocess
		
python常用模块之subprocess python2有个模块commands,执行命令的模块,在python3中已经废弃,使用subprocess模块来替代commands. 介绍一下:comm ...
 - python常用模块之string
		
python常用模块string模块,该模块可以帮我们获取字母.数字.特殊符号. import string #打印所有的小写字母 print(string.ascii_lowercase) #打印所 ...
 
随机推荐
- OpenID Connect Core 1.0(四)使用授权码流验证(上)
			
3.1 使用授权码流验证(Authentication using the Authorization Code Flow) 本节描述如何使用授权码流执行验证.当使用授权码流时,会从令牌终结点返回的所 ...
 - ORA-10485: Real-Time Query cannot be enabled while applying migration redo
			
情景:利用Dataguard滚动方式升级数据库后,备库应用redo报错:ORA-10485 MRP0: Background Media Recovery terminated with error ...
 - 前端应该掌握的ps知识
			
你说有美图秀秀之后PS要over了,NO PS 依旧很重要,当然除了修人像,比如切图什么的 来吧 开始吧 在开始切图之前,先科普几个小技巧 1. 如果快速从大图中拿出自己想要的小图 : 需求:快速拿出 ...
 - 在阿里云的CentOS 6.5 上面安装 timidity++ 和 ffmpeg(含libmp3lame) 实现命令行将midi转换为mp3
			
首先使用yum安装需要的组件 yum install -y automake autoconf libtool gcc gcc-c++ yasm yasm-devel 然后从sourceforge下载 ...
 - javascript 之 对象
			
可以通过 Object 构造函数或对象字面量的方式创建对象,但是这些方式的缺点是使用同一个接口创建多个对象,会产生大量重复的代码. 1.工厂模式 function createPerson(name, ...
 - kubernetes常用基础命令
			
创建资源对象 创建名为nginx-deploy的控制器资源对象 [root@master ~]# kubectl run nginx-deploy --image=nginx:1.12 --repli ...
 - TCP/IP协议的数据传输过程详解——IP与以太网的包收发操作
			
MTU:一个网络包的最大长度,以太网中一般是1500字节:(含有头部长度,包括IP头部,TCP头部,不包括MAC头部) MSS:除去头部后,一个网络包所能容纳的TCP的数据的最大长度 下图为TCP/I ...
 - DVWA:环境搭建
			
0x01 安装PHP集成环境 我这里用的是phpstudy 2016,这个使用起来比较方便.下面是现在的最新版. http://www.phpstudy.net/phpstudy/phpStudy20 ...
 - 【转载】Direct3D基础知识
			
原文:Direct3D基础知识 重新从头开始学习DX,以前太急于求成了,很多基础知识都没掌握就开始写程序了,结果出了问题很难解决. 1. D3D体系结构 D3D与GDI处与同一层次,区 ...
 - day4 RHCE
			
12.实现一个web服务器 [root@server0 ~]# yum install httpd -y [root@server0 ~]# rpm -ql httpd 查看httpd产生的配置文件 ...