用于使用noaanos网络摄像机应用测试平台(WebCAT)的Python工具
pywebcat的Python项目详细描述
PyWebCAT
这个存储库提供了一种Pythonic方式来与NOAA国家海洋服务网络摄像机应用程序进行交互 试验台(网络广播)。实时数据托管在SECOORA site (东南沿海海洋观测区域协会),在专门的WebCAT page上。 历史数据也可以通过使用特定的HTTP请求检索文件来访问(使用 WebCAT page)。在
有关WebCAT的更多详细信息,请参阅本开放存取文件:
Dusek, G., Hernandez, D., Willis, M., Brown, J. A., Long, J. W., Porter, D. E., & Vance, T. C. (2019). WebCAT: Piloting the development of a web camera coastal observing network for diverse applications. Frontiers in Marine Science, 6, 353, 25 June 2019 | https://doi.org/10.3389/fmars.2019.00353
安装
pip install pywebcat
使用
CLI
使用网络视频的一个关键工作流程是将视频分割成帧进行进一步分析。因此,此功能以命令行参数pywebcat
公开为CLI。在
CLI有助于有效地循环输入参数,以找到一个或多个WebCAT视频,并将它们分割成所需数量的帧,然后在本地保存。以下是2019年11月13日Buxton coastal相机在不同时间循环播放多个视频的示例(指定了10秒的间隔来保存帧,并启用了详细程度):
$ pywebcat -dir /Users/tbeuzen/Downloads -s buxtoncoastalcam -y 2019 -m 11 -d 13 -t 1000 1210 1530 -i 10 -v Saving frames of buxtoncoastalcam_2019_11_13_1000... 100%|██████████████████████████████████████████████| 62/62 [00:14<00:00, 4.22it/s] Saving frames of buxtoncoastalcam_2019_11_13_1210... 100%|██████████████████████████████████████████████| 62/62 [00:13<00:00, 4.51it/s] Saving frames of buxtoncoastalcam_2019_11_13_1530... 100%|██████████████████████████████████████████████| 62/62 [00:14<00:00, 4.38it/s]
生成的目录结构如下所示:
Users/tbeuzen/Downloads └── buxtoncoastalcam ├── buxtoncoastalcam_2019_11_13_1000 │ ├── buxtoncoastalcam_2019_11_13_1000.csv │ └── jpg │ ├── frame_0.jpg │ ├── frame_280.jpg │ ├── ... ├── buxtoncoastalcam_2019_11_13_1210 │ ├── ... └── buxtoncoastalcam_2019_11_13_1530 ├── ...
输出的.csv文件包含保存帧的元数据:
url | name | frame | path |
---|---|---|---|
http://webcat-video.axds.co/buxtoncoastalcam/raw/2019/2019_11/2019_11_13/buxtoncoastalcam.2019-11-13_1000.mp4 | buxtoncoastalcam_2019_11_13_1000 | 0 | /Users/tbeuzen/Downloads/buxtoncoastalcam/buxtoncoastalcam_2019_11_13_1000/jpg/frame_0.jpg |
http://webcat-video.axds.co/buxtoncoastalcam/raw/2019/2019_11/2019_11_13/buxtoncoastalcam.2019-11-13_1000.mp4 | buxtoncoastalcam_2019_11_13_1000 | 280 | /Users/tbeuzen/Downloads/buxtoncoastalcam/buxtoncoastalcam_2019_11_13_1000/jpg/frame_280.jpg |
... | ... | ... | ... |
模块
pywebcat实用程序也可以通过pywebcat.utils
导入,以便在其他库或工作流中使用。请参阅demo Jupyter notebook中的示例。在
from pywebcat.utils import WebCAT wc = WebCAT() wc.generate_url("buxtoncoastalcam", 2019, 11, 13, 1000) # create the video url # attributes wc.url # the created url wc.name # unique name for the video object wc.width # frame width in pixels wc.height # frame height in pixels wc.frames # total frames in video wc.fps # frames per second # methods wc.download_url() # download the video at the url wc.save_frames() # save video frames as .jpg wc.plot_frames() # plot select video frames wc.plot_average_frame() # plot time-averaged frame
贡献
欢迎您的投稿,并非常感谢!如果您对这个项目感兴趣,可以看看contributor guide。在
贡献者
欢迎并认可所有的贡献!您可以在contributors tab中看到当前贡献者的列表。在
致谢
感谢Southeast Coastal Ocean Observing Regional Association (SECOORA) and the WebCAT project使相机镜头公开,并支持开放科学和数据。在
- 项目
标签: