cvWaitKey()不工作?
我正在看书。作者清楚地解释了这个功能。问题是我的程序没有检测到任何按下的键,所以我无法终止窗口或停止循环。这是问题的一部分cvWaitKey()不工作?,c,opencv,C,Opencv,我正在看书。作者清楚地解释了这个功能。问题是我的程序没有检测到任何按下的键,所以我无法终止窗口或停止循环。这是问题的一部分 while(1) { frame = cvQueryFrame( capture ); if ( !frame ) break; cvShowImage("Example2", frame); char c = cvWaitKey(33); if ( c
while(1)
{
frame = cvQueryFrame( capture );
if ( !frame )
break;
cvShowImage("Example2", frame);
char c = cvWaitKey(33);
if ( c == 27 )
{
printf("Yes");
break; // 27 == escape button
}
}
我正在使用Mac(我正在从终端运行程序)。可能有两种可能性
- 按键时焦点不在cv窗口上
- 尝试使用just,cvWaitKey()
cvWaitKey(X)
时,程序会等待X毫秒,等待您按键。您没有给它足够的时间来检测按键。有关详细信息,请参阅。@scap3y,即使我增加了延迟时间,if(c==27)
也根本不起作用。这就是为什么我将放在“Yes”
中,表示我已按下按钮。我已将其设置为cvWaitKey(10000)
,没有希望。这就是为什么我对这些不能正常工作的琐碎东西感到震惊的原因。@CroCo您是否尝试了exit()而不是break?当“Example2”窗口聚焦时,您必须按下一个键。当终端聚焦时,您是这样做还是按键?您能从代码中的另一行打印其他内容吗?cvWaitKey()等于cvWaitKey(0),所以只需等待按键。