В настоящее время я использую OpenCV 2.4.6 с gcc 4.7.3 на Lubuntu x64. Для просмотра AVI я использую gnome-mplayer 1.0.8 (устанавливается с Lubuntu). Весь комплект работает на виртуальной машине в VirtualBox.
Я использую общий набор кода, чтобы получить изображения, а затем добавить их в 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();
Иногда это работает правильно.
В других случаях мне приходится ждать в течение многих секунд, прежде чем файл станет действительным (несмотря на то, что указано, что он занимает много Мб, в gnome-mplayer написано 0k).
Почему файл не всегда доступен, как только VideoWriter уничтожен?
Если у вас есть предложения, я бы хотел их прочитать! 😉 Спасибо!
Увидеть Вопросы OpenCV для более длинного ответа. Проблема, вероятно, заключается в том, как VirtualBox синхронизирует свои виртуальные диски …
Других решений пока нет …