[英]Video Capture : Frame always empty - opencv
我正在使用openCV 2.4.9版,并且在Mac OSX上使用。 我已经编写了用于在桌面上加载和显示视频的代码。 但是它似乎永远都行不通。 我总是将输出显示为“框架为空”。 因此,它不会抱怨使用VideoCapture读取视频。它无法捕获任何帧,因此“帧”始终为空。 知道可能是什么问题吗? 注意:我尝试了两种方法来捕获帧-注释为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;
}
刚刚使它工作。
Mat current_frame;
VideoCapture video("video.avi");
while(true)
{
video.read(current_frame);
imshow("Image",current_frame);
}
如果您在使用avi格式时仍然遇到问题,请查看ffmpeg库及其依赖项的链接。 我尝试使用自制软件从头开始安装它,并且没有问题。 干杯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.