C++ OpenCV VideoWriter報錯解決方案


今天終於把四相機同步采集系統的所有bug都解決了,遇到了好多問題百度都是錯誤的答案,下面記錄一下。

(1)自定義一張圖片,輸入VideoWriter里面可以生成一個視頻。可是換一台電腦就會出現如下錯誤:

cv::VideoWriter::open VIDEOIO(CV_IMAGES):raise OpenCV exception:

OpenCV(4.5.5) C:\build\master_winpack-build-win64-vc14\opencv\module\videoio\src\cap_images.cpp:253: error: (-5:Bad argument) CAP_IMAGES: can't find starting number(in the name of file): 一堆亂碼 in function cv::icvExtractPattern'

網上搜了全是說什么把文件名test.mp4改成什么帶數字的test001.mp4

亂講。實際上只需要把opencv的版本降低成3.幾的就可以了。

(2)CV_8UC4(24)轉成CV_8UC3(16)。

輸入VideoWriter里面的RGB圖片一定是三通道的,不能是帶透明度的四通道數據。網上的人說用convertTo()這個函數轉換。亂講,實際上這個函數不能改變通道數。正確的應該是使用split()函數把8UC4的圖片分成大小為4的數組,然后再merge()函數把前面三個拼接起來。這樣就能去掉第四個通道(比如透明度了)。

 

接下來每天都要去好遠的地方采集數據,上午花一小時下午花一小時在那呆着。

只能拿書去看准備實習了。晚上回學校才能刷題。


免責聲明!

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



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