为啥 cvWaitKey(0) 不起作用?

Posted

技术标签:

【中文标题】为啥 cvWaitKey(0) 不起作用?【英文标题】:Why cvWaitKey(0) doesn't work?为什么 cvWaitKey(0) 不起作用? 【发布时间】:2011-10-08 15:32:17 【问题描述】:

我不知道为什么,但是由于一个神秘的原因,我的 c++ 应用程序在到达 cvWaitKey(0) 时不再等待,它只是通过了这一行,就像这个函数没有做任何事情一样! 我也试过 cvWaitKey(100000) 它也不起作用...

void main() 
   cvWaitKey(0);
   return;

我的项目有点复杂,我使用的是 Visual Studio 2010,它包括 opencv ffmpeg pthread winsocks 和其他一些库。

你能猜出为什么会这样吗?

【问题讨论】:

【参考方案1】:

你打电话给cvNamedWindow了吗?如果没有cvNamedWindow,它将无法工作。

【讨论】:

没错!为什么这两者是相关的? 我认为是因为cvWaitKey,它需要highgui【参考方案2】:

我自己也遇到过几次这个问题,但我只能推测是什么原因造成的。不过,我可以提供一种解决方法:

while(1)
  int key=cvWaitKey(10);
  if(key==27) break;

这将阻塞,直到按下 ESC。

【讨论】:

以上是关于为啥 cvWaitKey(0) 不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

为啥变换矩阵在 OpenGL 中不起作用

为啥命令不起作用

为啥在 0-1 背包问题中我们使用 INT_MIN 以及为啥 0 不起作用

为啥类型转换在 Swift 2.0 中不起作用?

为啥我的扩展语法在节点 v7.0.0 中不起作用?

为啥这个 C# 正则表达式不起作用?