网络摄像机图像检索与归档。
CAM2ImageArchiver的Python项目详细描述
自述文件
引文
如果您使用本软件,请在确认中包括以下声明
“图像存档程序由CAM2提供(连续分析 在普渡大学的项目。”
这个仓库是用来干什么的?
此存储库存储用于检索数据(图像)的源代码 或视频)。
这是普渡大学cam2的一部分(对许多相机的连续分析) 项目。该项目的网站是https://www.cam2project.net/
尤其是,“您同意不使用平台来确定 任何视频或视频中包含的任何特定个人的身份 流。”
根据apache许可证授权的软件。有关详细信息,请参见license.txt。
首席调查员是吕永祥博士,yunglu@purdue.edu。拜托 把你的问题、评论或建议寄给他。
动机
数以千计的网络摄像机连接到互联网,并提供 实时视觉数据(图像或视频)。许多网络摄像机需要 没有密码,任何连接到Internet的人都可以检索 数据,即数据是公开的。这个程序考虑 只有公开的摄像机数据。
即使数据对任何感兴趣的人都是公开的 看,有几个问题。首先,没有中央车站 网络摄像机必须注册的存储库。因此,意义重大 必须努力寻找各种数据来源。其次, 不同品牌的网络摄像机需要不同的检索方法 数据。cameas还可以提供不同的数据格式:一些 提供单独的JPEG图像;有些提供运动JPEG(MJPEG) 视频;其他一些提供H.264视频。
许多组织(如交通部)聚集在一起 多个摄像头的数据流,并将这些数据流放到网站上。 然而,这些网站有不同的格式和风格。一些网络 网站使用简单的html;有些使用css;有些使用javascript。一些网络 网站有不同摄像头的固定URL。有些网站 动态生成的反映时间的url(因此,url是 总是在变化)。
为了解决这些问题,普渡大学的研究人员 开发从异构源检索数据的软件。
文件
完整的文档可以在https://purduecam2project.github.io/CAM2ImageArchiver/index.html
安装
- 要从我们的PyPi Repository安装,请使用pip:
pip install CAM2ImageArchiver
- 要从源安装,请下载此存储库并运行:
python setup.py install
文件
CAM2ImageArchiver.py
是主要的python模块。它从一个摄像头中存档图像。camera.py
提供与不同类型的相机通信的类:ip相机、非ip相机和流式相机。StreamParser.py
被camera.py
用来解析jpeg和mjpeg流。error.py
包含自定义python异常。CamerHandler.py
将检索作业分成多个线程进行并行处理。
使用量
我们建议使用带有CAM2 Camera Database Python Client的cam2图像归档程序。
cam2图像归档程序直接接受来自CAM2 Camera Client的相机对象,用户还可以动态创建自己的相机对象,如下所示。archive()
方法需要一个字典对象列表,其中包含camera_type、cameraid和snapshot_url字段。
[{'camera_type': 'non_ip', 'cameraID':'1', 'snapshot_url':'<The URL to the Camera Image Data>'}]
下面是一个如何存档来自一个相机的图像数据的示例。更多示例用法可以在the documentation中找到。
from CAM2ImageArchiver import CAM2ImageArchiver
cams = [{'camera_type': 'non_ip', 'cameraID':'1', 'snapshot_url':'http://example.com/camera1'}]
cam2 = CAM2ImageArchiver(num_processes=3)
cam2.archive(cams, duration=<duration(sec) to archive data>, interval=<interval(sec) to archive data>)