繁体   English   中英

OpenCV黑白视频为空

[英]OpenCV Black and White video empty

我有一些代码可以使用openCV录制视频。 它适合录制彩色视频,但我想录制黑白。

当我将cvtColor调用为黑白时,我得到一个空视频。 我真的很想知道我在做什么错。


    VideoCapture cap(1); // open the default camera
    cap.set(CV_CAP_PROP_FPS, fps);
    cap.set(CV_CAP_PROP_FRAME_WIDTH, 1280);
    cap.set(CV_CAP_PROP_FRAME_HEIGHT, 720);
    if(!cap.isOpened())  // check if we succeeded
        return -1;


    VideoWriter writer(filename, CV_FOURCC('M','P','4','2'), fps, Size(1280, 720), true);

    int count = 0; 
    for(;;)
    {
        count++;
        Mat frame;
        cap >> frame;
        //cvtColor(frame, frame, CV_BGR2GRAY);

        writer.write(frame);
    }

上面的代码可以产生完美的视频,但是当取消注释cvtColor时,文件为空。

我试图用XVID编解码器制作黑白视频,并且也得到了空胶卷(长度为5kB),直到我使FFMPEG库可供编程为止(将它们与程序一起放入Windows OS的PATH目录中)。

OpenCV检查FFMPEG是否存在,并在可用时使用它。

另外,将第二个Mat用于黑白帧,这将节省计算机时间(每次捕获单个对象都会导致两次重新分配/重新初始化)

 cvtColor(frame, bwframe, CV_BGR2GRAY);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM