難道是在OpenCV2.4 highgui中有一個錯誤,用於捕獲窗口中的視頻幀?OpenCV2.4從視頻中捕獲幀的可能的錯誤
我安裝了預編譯庫,由我編譯後的,我可以完全編譯一切,如果
它們是基於圖像,我可以運行我的程序。該問題僅適用於視頻。 OpenCV的崩潰在此函數總是:
virtual IplImage* retrieveFrame(int)
{
unsigned char* data = 0;
int step=0, width=0, height=0, cn=0;
if(!ffmpegCapture ||
!icvRetrieveFrame_FFMPEG_p(ffmpegCapture,&data,&step,&width,&height,&cn)) <-------CRASHES HERE
return 0;
cvInitImageHeader(&frame, cvSize(width, height), 8, cn);
cvSetData(&frame, data, step);
return &frame;
}
這是類cap_ffmpeg.cpp內,由VideoCapture調用。
我試過版本2.4.2和2.4.9。我programes正在努力FINDE與opencv2
更多信息
的Windows 7
建立與C進行項目(重要的,因爲這可能是因爲CMake的不是建築/發現正確的編解碼器)
VisualStudio 9 2008
的OpenCV 2.4.2
編輯
它看起來像它實際上是一個bug,所以,我怎麼能解決這個問題,改變我的代碼,以便能夠讀取AVI文件?
爲什麼不呢?它是軟件:)看起來像你描述的問題http://code.opencv.org/issues/2115 –
@Sergey呵呵,是的,我相信它,但它是一種痛苦。我需要開發,現在我必須與這...耐心 –
根據描述你需要降級2.4-> 2.1或只是自己修復它,併發布你的補丁,以幫助其他人:)根據我的知識,這是不好的在Windows上使用ffmpeg的想法。 AFAIR它應該是OpenCV的DirectDraw捕獲,但也許我錯了。 –