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等后期剪輯環境沒有問題,如下。

最終的圖片文件如下。

希望能幫到您,謝謝閱讀。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM