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

时间:2021-09-17
本文章向大家介绍Maxmspjitter实现实时抓取摄像头画面并制成序列图 (定时抓拍),主要包括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等后期剪辑环境没有问题,如下。

最终的图片文件如下。

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

原文地址:https://www.cnblogs.com/sharpeye/p/15267806.html