gpt4 book ai didi

macos - opencv 不在 mac osx 中显示视频

转载 作者:太空宇宙 更新时间:2023-11-03 22:33:11 34 4
gpt4 key购买 nike

我刚刚在装有 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;
}

enter image description here

最佳答案

之后:

imshow("video", frame);

调用:

waitKey(10);

必须调用cv::waitKey()显示窗口。该参数是窗口将保持打开状态的毫秒数。此函数返回在此期间按下的键的 ASCII 代码。

理想情况下,您可以将 10 替换为使其以正确的 FPS 显示帧的数字。换句话说:cv::waitKey(1000/fps);

关于macos - opencv 不在 mac osx 中显示视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16088862/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com