我正在尝试使用一些深度图序列编写视频。
我已将深度图像从 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