我正在使用openCV版本2.4.9,以及Mac OSX。 我已编写此代码用于在桌面上加载和显示视频。但它似乎永远不会起作用。我总是把输出称为“帧空”。因此,它不会抱怨使用VideoCapture读取视频。它无法捕获任何帧,因此“帧”始终为EMPTY。知道问题可能是什么? 注意:我已经尝试了两种方法来捕获一个帧 - 注释为try 1和try2。
int main(int argc, const char * argv[])
{
Mat frame;
VideoCapture capture_ir("/Users/shreyatandon/Desktop/resize_ir.avi");
if ( !capture_ir.isOpened() ) // if not success, exit program
{
cout << "Cannot open the video file" << endl;
return -1;
}
for (;;){
// capture_ir.read(frame); //try1
capture_ir>>frame; //try2
if(frame.empty()){
std::cerr<<"frame is empty"<<std::endl;
break;
}
imshow("", frame);
waitKey(10);
break;
}
return 0;
}
答案 0 :(得分:0)
让它成功。
Mat current_frame;
VideoCapture video("video.avi");
while(true)
{
video.read(current_frame);
imshow("Image",current_frame);
}
如果您在使用avi格式时遇到问题,请查看指向ffmpeg库及其依赖项的链接。我尝试使用自制软件从头开始安装它,它没有问题。干杯