网络摄像机图像检索与归档。

CAM2ImageArchiver的Python项目详细描述


自述文件

引文

如果您使用本软件,请在确认中包括以下声明

“图像存档程序由CAM2提供(连续分析 在普渡大学的项目。”

这个仓库是用来干什么的?

尤其是,“您同意不使用平台来确定 任何视频或视频中包含的任何特定个人的身份 流。”

  • 根据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

安装

 pip install CAM2ImageArchiver
  • 要从源安装,请下载此存储库并运行:
python setup.py install

文件

  • CAM2ImageArchiver.py是主要的python模块。它从一个摄像头中存档图像。
  • camera.py提供与不同类型的相机通信的类:ip相机、非ip相机和流式相机。
  • StreamParser.pycamera.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>)	

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
OS X上的macos Java DTrace桥   java[]int和int[]之间有什么区别   sonarqube Java 8将两个空检查替换为可选   java按后退按钮进入另一个活动   从Java创建HTML表,检查TD是否已经在它的右边有一个TD   java将十进制128序列化为JSON   java SimpleDataFormat以不同语言返回字符串日期   java通过某个键将<Long,List<String>>映射到字符串Lambda的列表   java中为二维数组赋值时出现的问题   java通过nativeimage编译spring启动应用程序   @QueryParam+@PathParam的java日期参数   Java:startsWith()具有不同的前缀,而不仅仅是一个   java执行器服务。调用所有(超时,时间单位)与未来。获取(超时,时间单位)   java中检查空引用的乐观方法