一連の深度マップを使用してビデオを書き込もうとしています。
深度画像を cv::Mat_ から cv::Mat に単一チャンネルで変換しました。しかし、私が使用しているコーデックは、書きたい avi ファイルを開くことができません。VideoCapture.open(...) は、ファイルを作成することも開くこともできないようです。
適切なコーデックを選択する問題だと思います。私は間違っているかもしれません。小さなコードスニペットを投稿しました。
cv::VideoWriter outputVideo_;
source_ = "~/Hello.avi";
cv::Size S(480, 640);
outputVideo_.open(source_, CV_FOURCC('D','I','B', ' '), 20, S, false);
if (!outputVideo_.isOpened())
{
std::cout << "Could not open the output video for write: " << source_ << std::endl;
return;
}
この場合、opencv を正しく動作させるにはどうすればよいですか。Linux 12.04、ROS (ロボット オペレーティング システム)、および OpenCV 2.4.2 を使用しています。