Maxmspjitter实现实时抓取摄像头画面并制成序列图 (定时抓拍)

Posted SHARP-EYE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maxmspjitter实现实时抓取摄像头画面并制成序列图 (定时抓拍)相关的知识,希望对你有一定的参考价值。

实时监控、拍照、录像外设的影像画面在B站上我已有所总结,见下面的网址。

https://www.bilibili.com/read/cv13149329?spm_id_from=333.999.0.0

而如何实现定时抓拍则需要另作讨论。下面就以Maxmspjitter这个交互软件为例来实现。下图是Max中Patcher的参考结果。

 

首先

通过调用jit.dx.grab或者jit.grabjit.qt.grab获取到外设摄像头设备以及其返回的画面影像。我偷懒用了帮助直接扒下来的,轻松获取参数配置[点击【getformatlist】],比如我预想的需求是1920*1080的分辨率,要设成MJPG[1920*1080]。当然DIM属性也要随之更改。

接下来

通过grab节点的预留方法【exportimage】来保存Matrix中的信息,即保存静帧图像。具体语法可参考官方文档。很简单,两个参数,一个是保存的路径,一个是格式,支持JPEG\\PNG\\TIFF等格式。使用sprintf节点发送message给grab节点。

进一步

如果想要抓取序列图像,也就是有时间关联的一系列图像,那么每次保存图像之前,定义序列的图像名称,让其相关,方便后期编辑。可参考上图做法。【上图的这块逻辑也是参考了官方Form论坛的网友分享的Patcher,见下面这个网址】

https://cycling74.com/forums/jit-qt-grab-pictures

https://cycling74.com/forums/save-screenshot-of-a-video-with-bang

相隔的时间在metro节点上定义。

最后

最后的结果就是相隔2500毫秒拍一张照片,如下图:

我把最重要的部分放大上传。

有了序列图片,后期就可大展身手了,不过这样的命名或许还不是特别适用于序列动画,或是在max中修改,或是借dos批处理、powershell等统一更改命名。我给出一个参考。

理想的序列图命名格式如name_#####.png。但是目前还不确定在max中如何实现此命名,因此简单处理,直接从0计数,导入PR等后期剪辑环境没有问题,如下。

最终的图片文件如下。

希望能帮到您,谢谢阅读。

 

以上是关于Maxmspjitter实现实时抓取摄像头画面并制成序列图 (定时抓拍)的主要内容,如果未能解决你的问题,请参考以下文章

javaCV开发详解之9:基于gdigrab的windows屏幕画面抓取/采集(基于javacv的屏幕截屏录屏功能)

摄像头获取视频后如何将实时画面通过网线传输给局域网内的另外一台电脑。

利用Android Camera2 的照相机api 实现 实时的图像采集与预览

如何在手机APP中通过H5方式集成监控摄像头实时直播画面

如何在手机APP中通过H5方式集成监控摄像头实时直播画面

如何在手机APP中通过H5方式集成监控摄像头实时直播画面