日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于OpenCV的摄像头视频录制保存工具【附GIT源码地址】

發布時間:2023/12/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于OpenCV的摄像头视频录制保存工具【附GIT源码地址】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近一個項目需要使用USB攝像頭去采集視頻并保存成文件,需要一個攝像頭錄制工具,要求其實很簡單,就是能夠將攝像頭采集的圖像加上一個時間戳的水印,實時保存到指定的文件中。同時為了防止文件過大,最好能夠按時間自動進行分隔存儲(比如每5分鐘自動新建一個文件)。在網上找了很久都沒有找到滿意的,什么攝像頭錄像大師、專業錄像工具、錄屏大師、錄像專家之類的,要么就是要收費的,要么就是那種非常專業的,參數設置一大堆,還英文版,看上去腦袋就大了。于是,作為一個程序猿,求人不如求己,干脆自己寫一個。

說干就干,剛好我的ubuntu系統下已經安裝了OpenCV的環境,利用OpenCV來寫一個攝像頭采集和圖像保存的工具,那也就是分分鐘的事情。

開始之前,如果你的電腦沒有安裝OpenCV,那么請出門左轉,參考【Ubuntu14.04系統下安裝OpenCV 4.0.0開發環境全過程】自行完成。

這里說明一下,上面的鏈接中安裝的是OpenCV 4.0.0的版本,但是很多東西并不是最新的就是最好的,還是要看你的需求。4.0的版本啟用了很多新的接口,網上的資料還不是很全,所以,這里我還是建議大家安裝3.4左右的版本,既不會太舊,也比較大眾化,遇到問題時網上資料一抓一大把。

好了,閑話少說,開始干活!

第一步,寫代碼;

第二步,寫Makefile;

第三步,編譯運行;

第四步,打完收工!

哈哈,是不是很簡單?

不信?不信的話,給你一個完整的工程代碼, 您老親自去下載、編譯、運行,看看是不是真的很簡單?

【點擊此處前往我的碼云倉庫下載】

可見,程序確實是真的很簡單,步驟很少,相關的接口全部直接采用OpenCV的API實現,簡單快速!

這里還要說明一下的是,程序中采用了雙線程模式,主線程負責進行視頻加水印+存儲文件等操作,子線程則專門負責進行攝像頭數據的讀取。之所以采用雙線程,是因為攝像頭讀取的過程是同步的,如果你設置攝像頭的幀率為30幀,那么讀取一幀的耗時基本上就是30ms多(當然也有可能不止30ms),如果你是在同一個線程里完成所有的事情,那么一輪操作下來的耗時肯定會比30ms長,而且還會隨著攝像頭的工作情況變化而大幅度波動,最終會導致你采集出來的視頻實際幀率不穩定,出現播放時幀率過快或者過慢的問題,體現到觀看的效果上就是出現快動作或者慢動作。我也花了一整天的時間才把這個問題給解決掉,并且在主線程中還加入了時間約束條件,以進一步控制實際錄制的視頻幀率的穩定效果。具體的流程和過程,大家可以在我的代碼里看到,注釋還是比較詳細的,相信大家應該能看得懂!

大家有興趣的話,可以在我此處的博客或者我的碼云倉庫處留言,隨時歡迎交流!

總結

以上是生活随笔為你收集整理的基于OpenCV的摄像头视频录制保存工具【附GIT源码地址】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。