【OpenCv】cvWaitKey获取键盘值

1. 键盘上箭头值的获取
int key = cvWaitKey(2);
key = key % 255;
switch(key){
	case 38: //up
		break;
	case 40: //down
		break;
	case 37://left
		break;
	case 39://right
		break;
}

参考网址:http://answers.opencv.org/question/13791/cvwaitkey-is-not-generating-key-codes-for-naviagation-keys/

参考网址(箭头按键怎么获取):http://answers.opencv.org/question/44971/does-waitkey-work-correctly-in-linux/
参考网址(箭头按键怎么获取):https://stackoverflow.com/questions/29411301/opencv-waitkey-method-return-type

参考网址(键盘对应键值):https://blog.csdn.net/mystonelxj/article/details/88184829

其他:https://stackoverflow.com/questions/45580975/opencv-handling-arrow-keys-with-waitkey-function

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cv.waitkey()是OpenCV库中的一个函数,用于等待键盘输入的功能。当程序执行到该函数时,会一直阻塞等待用户的输入,直到用户按下一个键才会返回。 如果cv.waitkey()卡死,可能是以下几个原因导致的: 1. 没有建立图像窗口:在调用cv.waitkey()之前,需要先创建一个图像窗口,例如使用cv.imshow()函数显示图像。如果没有建立图像窗口,cv.waitkey()函数就无法监听键盘输入。 2. 在程序中没有写cv.waitKey()函数:在程序中如果没有调用cv.waitkey()函数而去获取键盘输入,就无法接收用户输入的键盘事件,会导致程序卡死。 3. 代码逻辑错误导致卡死:在程序的其他部分有可能存在逻辑错误,导致程序无法正常执行到cv.waitkey()函数。这时需要检查代码逻辑,确保程序能流畅地执行到cv.waitkey()函数。 解决cv.waitkey()卡死的方法如下: 1. 确保在调用cv.waitkey()之前已经建立了图像窗口,并且使用cv.imshow()函数显示了图像。 2. 检查代码逻辑,保证程序执行到cv.waitkey()函数的位置。 3. 如果程序仍然无法正常运行,可以尝试将cv.waitkey()函数放在一个while循环中,通过设置条件来控制循环,以避免卡死。例如,在while循环中检查cv.waitkey()的返回,当用户按下按键后,跳出循环。 总之,cv.waitkey()卡死通常是由于代码逻辑错误或者没有建立图像窗口导致的,需要根据具体情况进行调试和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值