我所做的操作非常简单:
我读取了一个尺寸为1280x720的.avi文件,将视频的一帧存储到Mat对象并显示了它。
这是代码的一部分:
VideoCapture capL;
capL.open("F:/renderoutput/cube/left.avi");
Mat frameL;
cout << capL.get(CAP_PROP_FRAME_WIDTH) << ", " << capL.get(CAP_PROP_FRAME_HEIGHT) << endl;
for (;;)
{
capL.read(frameL);
cout << frameL.size() << endl;
if (frameL.empty())
break;
imshow("Output", frameL);
waitKey(200);
}
......
但是capL和frameL的尺寸并不相同,前者是1280x720,后者是1280x360。为什么会这样呢?我在Visual Studio中使用OpenCV 3.3.1已有很长时间了,有一天这种情况发生了。