OpenCV(C++)を使用してビデオファイルを書きたいと思っていました。ドキュメントを見ると、それは本当に簡単なようでした。しかし、私のプログラム(Windows 7で動作している)で試してみると、できませんでした。OpenCVでビデオを記録できませんが、エラーはありません
潜在的な問題についてインターネット上で検索すると、2.x OpenCVインターフェイスを使用した例や自分の問題に関連する例が見つかりませんでした。
cv::VideoCapture cap("C:\\Users\\Me\\Video\\test.mov");
cv::VideoWriter writer("C:\\Users\\Me\\Video\\test_result.mov",
cap.get(CV_CAP_PROP_FOURCC),
cap.get(CV_CAP_PROP_FPS),
cv::Size((int)cap.get(CV_CAP_PROP_FRAME_HEIGHT), (int)cap.get(CV_CAP_PROP_FRAME_WIDTH)));
while(cap.grab()) {
cv::Mat img;
cap.retrieve(img);
// process img
writer << img;
}
エラーメッセージが指定されていないが、ビデオファイルが作成されていません。
まず、ここのコードです。さらに悪いことに、コンソールに次のメッセージが表示されます。
Output #0, mov, to 'C:\Users\Me\Video\teste_result.mov':
Stream #0.0: Video: [0][0][0][0]/0x0000, yuv420p, 480x720, q=2-31, 22118 kb/s, 90k tbn, 15 tbc
ビデオファイルが作成されていてはなりませんか?考えられるエラーをどこで見つけることができますか?
EDIT:VideoCaptureとVideoWriterがOKになりisOpened方法、持つオブジェクト場合
上記のコードを使用して、私も確認してください。
申し訳ありません、それを忘れてしまいましたが、私のコードでそれを行いました。ちょうど質問を編集しました。 – Renan