函数介绍
cv2.waitKey(delay_time)
这个函数主要用于同图片显示搭配使用。在一段程序运行的过程中突然出现这么一个函数,可以理解为程序将暂停delay_time后,再继续执行后面的代码。
参数介绍
- delay_time - 若值为0,意味着一直等待按键的按下,只有按键按下之后后面的程序才会继续执行- 若值为正整数, 假设delay_time=30,程序将在30ms内等待按键的按下,若期间有按键按下,则立刻跳出等待执行后面的程序,反之,需要完整等候30ms再继续执行后面的程序
返回值
返回按键的ASCII值。若没有按键按下则返回-1。
示例
通过3个示例让大家对函数有更加深刻得认识
示例1
同图片显示搭配使用,等待任意按键的按下,即delay_time=0,最终效果是按下任意按键后图片关闭
import cv2
#图片读取函数defcv_read(path):
ret=cv2.imread(path)if ret isNone:print("Error!")
exit()return ret
#图片显示函数defcv_show(name,image):#创建窗口,大小可改变
cv2.namedWindow(name,cv2.WINDOW_NORMAL)
cv2.imshow(name,image)#等待任意按键按下
cv2.waitKey(0)
cv2.destroyAllWindows()#图片路径 建议将图片放到项目文件下
path='jiaoyan.jpg'
img=cv_read(path)
cv_show('image',img)
示例2
延时后继续执行代码,将上面的delay_time 更换为10000后,图片将等待10秒后关闭,若在10秒内按下任意按键图片就会立刻关闭
import cv2
defcv_read(path):
ret=cv2.imread(path)if ret isNone:print("Error!")
exit()return ret
defcv_show(name,image):
cv2.namedWindow(name,cv2.WINDOW_NORMAL)
cv2.imshow(name,image)
cv2.waitKey(10000)
cv2.destroyAllWindows()
path='jiaoyan.jpg'
img=cv_read(path)
cv_show('image',img)
示例3
import cv2
defcv_read(path):
ret=cv2.imread(path)if ret isNone:print("Error!")
exit()return ret
defcv_show(name,image):
cv2.namedWindow(name,cv2.WINDOW_NORMAL)
cv2.imshow(name,image)# 持续检测按键情况whileTrue:# 当按键为‘q’时才能够关闭所有窗口if cv2.waitKey(1)&0xFF==ord('q'):break
cv2.destroyAllWindows()
path='C:\\Users\\86185\\opencv\\jiaoyan.jpg'
img=cv_read(path)
cv_show('image',img)
结语
希望通过3个示例能让大家对cv2.waitKey()有初步的认识
版权归原作者 xdy517 所有, 如有侵权,请联系我们删除。