问题如下:
有一个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