关于cv.waitKey

  1. cv.waitKey()
    相当于cv.waitKey(0),即当前窗口持续显示,直至按下键盘或者点击窗口关闭。
    可将其赋予一个对象,如key = cv.waitKey(),若通过键盘关闭,则返回键盘的ASCII值(Esc对应的ASCII值为27);若通过鼠标点击窗口关闭按钮关闭,则返回-1。
  2. cv.waitKey(int型数a)
    当前窗口持续显示a毫秒,同样可将其赋予一个对象,如key = cv.waitKey(a)。若在[0,a]毫秒之内通过键盘关闭了窗口,则返回键盘ASCII值,若是a毫秒之后窗口自动关闭,则返回-1

2020.7.18补充:
waitkey适用于带窗口的延迟显示,但不限于imshow,包括qt的gui以及mfc的gui都可以,官方说明如下:
The function only works if there is at least one HighGUI window created and the window is active.

它并不能真正使程序暂停,所以不能当作程序暂停函数,不等于sleep()函数,它应该是调用了子线程做一个窗口的持续显示并等待按键输入,主线程只不过与子线程做了一个同步,但主线程并没有完全暂停,完全可以兼顾做其他事

我在qt中试过了,在waitkey()期间程序可以执行其他的槽函数,说明槽函数可以随时接管程序,执行完槽函数后再执行原来的程序,同时waitkey没有使得程序暂停

qt中按不同按钮会启用不同的槽函数,但这个槽函数不是子线程,我理解的是:按钮按下,程序认为这个事情优先级最高,所以放下当前所做的事去执行槽函数,但注意,这不是启动子线程,只是在执行当前槽函数,暂时放下了其他槽函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值