我将 OpenCV 2.4.3 与我自己的 64 位二进制文件一起使用,这些二进制文件也是用 QT 4.8.3 构建的。我正在使用 DirectShow 进行视频捕捉,最近遇到了一个我无法解决的问题。即,以下代码在小于 2043 帧的未压缩 .avi 文件上完美运行。
VideoCapture src = "D:/TestVideo/BigFile.avi";
Mat img;
while( src.read(img) )
{
imshow("Input", img);
waitKey(30);
}
但是, src.read(img) 在第 2043 帧返回 false。
它在不同的 Windows 7、64 位平台和所有大于 2043 帧的 .avi 文件上执行此操作。我怀疑这很重要,但视频是 640x480、8 位、1 和 3 通道。
有没有人见过这个问题,你能推荐一个解决方案吗?
谢谢, TR