由OpenCV 2.4.6创建的AVI文件在应用程序退出时并不总是有效



我目前正在Lubuntu x64上使用OpenCV 2.4.6和gcc 4.7.3。要查看 AVI,我使用 gnome-mplayer 1.0.8(与 Lubuntu 一起安装)。所有工具包都在VirtualBox中的VM上运行。

我使用通用代码套件来抓取图像,然后将它们添加到VideoWriter中。在(第二个)线程中,我这样做:

cv::Mat lImg;
cv::VideoCapture lVidCap( 0 );
cv::VideoWriter lVidWrt( lFileName, CV_FOURCC( 'M', 'J', 'P', 'G' ), 15, cv::Size( 640, 480 ) );
while ( true )
{
    // Here check if we must quite the loop.
    lVidCap.read( lImg );
    lVidWrt.write( lImg );
}
// This is not required according to the doc...
lVidWrt.release();
  1. 它有时可以正常工作。

  2. 在其他时候,我必须等待几秒钟才能使文件有效(尽管表明它需要很多 Mb,但在 gnome-mplayer 中它被写为 0k)。

为什么一旦视频编写器被销毁,文件并不总是可用?

如果你有任何建议,我想读一读! ;-)谢谢!

有关更长的答案,请参阅 OpenCV 问题。问题可能在于VirtualBox同步其虚拟磁盘的方式...

相关内容

最新更新