【发布时间】:2014-11-10 16:18:13
【问题描述】:
我正在尝试这段代码:
//[Code omitted ...]
Mat outputframe (frame1.rows*2, frame1.cols*4,CV_8UC3);
VideoCapture myvideo(path);
VideoWriter outputVideo;
outputVideo.open(outputName, CV_FOURCC_DEFAULT, myvideo.get(CV_CAP_PROP_FPS),(outputframe.size()),true);
//[Code omitted:Start cycling on the video and]
Mat elaboratedFrame(frame1.rows*2, frame1.cols*4,CV_8UC3)
//[Code omitted:Elaborating the frame "elaboratedFrame"]
elaboratedFrame.copyTo(outputframe);
outputVideo<< outputframe;
//[Code omitted ...]
我在 Mac 上(通过 macports 安装 OSX Lion 和 OpenCV 2.4.6),每次尝试运行我得到的代码时: 1)在我打开输出视频的那一行:
警告:无法创建空电影文件容器。
2) 当我运行程序时,我在 VideoWriter 的行上收到此错误:
OpenCV 错误:cvCvtColor 中的断言失败 (dst.data == dst0.data)
或者(如果我尝试使用cvtColor(elaboratedFrame, outputframe, CV_GRAY2RGB);
OpenCV 错误:在 cvtColor 中断言失败 (scn == 3 || scn == 4)
如果我选择其他编解码器(MP4、MPEG、MJPG、FFMPEG ecc),该程序显然不会创建任何内容并且没有任何变化。我对这个错误很生气。任何人都发布了同样的问题并可能解决了它? 提前谢谢大家。
【问题讨论】:
-
我解决了警告问题:这是由于在创建视频的目标路径时出错。仍然是问题 2