我刚刚用 OSX 10.8.3 在我的 Mac 上安装了 opencv,我用 brew 安装了它:
brew install opencv
版本是 2.4.3
>>> ls /usr/local/Cellar/opencv
2.4.3
我尝试显示视频。格式是.asf,编解码器是MJPG(我只能用VLC打开,看截图)
帧数(如果在 opencv 中打印出来或在 VLC 中看到)是相同的。
但是如果我运行 opencv 程序,只显示第一帧。另一个不是..为什么?
这是opencv代码
#include <iostream>
#include <string>
#include <sstream>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
int main(int argc, char *argv[]) {
Mat frame;
int numframe = 0;
if (argc != 2) {
cout << "Not enough parameters" << endl;
return -1;
}
const string source = argv[1];
VideoCapture capture(source);
namedWindow("video", CV_WINDOW_AUTOSIZE);
if (!capture.isOpened()) {
cout << "Could not open " << source << endl;
return -1;
}
for(;;) {
capture >> frame;
numframe++;
if (frame.empty()) {
cout << "frame empty.." << endl;
break;
}
cout << numframe << endl;
imshow("video", frame);
}
return 0;
}