问题如下:

有一个CIF视频文件应该由OpenCV处理。
不幸的是,我无法从该视频中读取帧。以下代码

cv::VideoCapture cap = cv::VideoCapture("foreman.cif");
if(!cap.isOpened()) {
    std::cout << "Open file error" << std::endl;
    return -1;
}

在控制台中提供Open file error

有什么办法可以使用OpenCV从CIF视频中获取帧?

最佳答案

我不认为openCV可以直接读取原始YUV流。
您可以使用memcoder将其转换为avi(压缩与否)。
或者,您可以使用常规的c / c++读取数据块,将它们复制到图像中,然后使用cvCvtColor()转换YUV-> BGR

09-11 19:27