實時監控、拍照、錄像外設的影像畫面在B站上我已有所總結,見下面的網址。
https://www.bilibili.com/read/cv13149329?spm_id_from=333.999.0.0
而如何實現定時抓拍則需要另作討論。下面就以Maxmspjitter這個交互軟件為例來實現。下圖是Max中Patcher的參考結果。
首先
通過調用jit.dx.grab或者jit.grab、jit.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等后期剪輯環境沒有問題,如下。
最終的圖片文件如下。
希望能幫到您,謝謝閱讀。