下面的代碼無法打開一個VideoWriter對象:OpenCV的VideoWriter打不開文件
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main() {
VideoWriter oVideo;
oVideo.open ("381.avi", -1, 30, Size(640,480), true);
if (!oVideo.isOpened()) {
cout << "Could not open the output video for write" << endl;
return -1;
}
return 0;
}
我跑的OpenCV 2.4.9預建與代碼::塊在Ubuntu 12.04。我在同一位置使用imwrite()
寫了許多圖像,沒有問題,所以我懷疑它與權限有關。我也嘗試CV_FOURCC('X','V','I','D')
哪些不起作用。
我在這裏錯過了什麼?
任何幫助,非常感謝。
而不是-1,嘗試傳遞參數'CV_FOURCC('M','J','P','J')'。或'('M','P','E','G')'。 XVID可能不是您系統中的編解碼器。 –
它會給你任何錯誤還是隻是說「無法打開輸出視頻進行寫入」?我直接複製了你的代碼,只把文件名改成了我的視頻,而且工作得很好。你試圖達到的最終目標是什麼 – Maggick
-1應該給我一個彈出菜單嗎?這不會發生。另外,我現在嘗試了MJPJ,MPEG,PIM1,但是我得到了相同的結果。 – BdB