我正在尝试编写一个传输视频然后播放的应用程序。但一开始我只是想打开视频并播放它,但我遇到了麻烦。 这是我的代码:
VideoPlayer::Play()
{
CvCapture *capture = cvCreateFileCapture(m_FileName.c_str());
IplImage* frame = cvQueryFrame(capture);
int frame_number = 0;
cvNamedWindow("stream_server", CV_WINDOW_AUTOSIZE);
while (true)
{
if (!frame)
{
std::cout << "Failed\n";
break;
}
cvShowImage("stream_server", frame);
++frame_number;
frame = cvQueryFrame(capture);
}
cvReleaseCapture(&capture);
}
问题是 - 当我运行这个程序时,我看到出现了 videoWindows,但它显示灰色屏幕并挂起沙钟。
你能帮我吗?
最佳答案
您需要调用waitKey
以便更新窗口。如果用户按下字母“c”,这将停止:
int c = waitKey(10);
if( (char)c == 'c' ) { break; }
关于c++ - 尝试播放 OpenCv 框架时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13732579/