有一个程序可以从摄像机获取实时信息:我想在按下键盘上的键时执行一些操作,而不会干扰正在进行的过程。我试过了
if(waitKey(30) == '27')
cout << "ESC pressed";
但是这个不起作用。
答案 0 :(得分:3)
Documentation:
该功能仅在至少创建一个HighGUI窗口且窗口处于活动状态时才有效。如果有多个HighGUI窗口,则其中任何一个都可以处于活动状态。
据我所知,你的问题似乎没有任何活跃的窗口。如果是这种情况,首先在imshow
功能的帮助下显示图像,然后等待按任何键。
答案 1 :(得分:2)
cv::waitKey()
返回一个整数。您可以将其转换为char
,然后与此类
if((char)cv::waitKey(1) == 27) std::cout << "ESC pressed" << std::endl;
或(等效地)写
if(cv::waitKey(1) % 256 == 27) std::cout << "ESC pressed" << std::endl;