1

问题如下:

有一个 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 视频中抓取帧?

4

1 回答 1

0

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

于 2012-07-06T21:58:20.640 回答