Opencv之cv2.waitKey()

函数介绍

cv2.waitKey(delay_time)

这个函数主要用于同图片显示搭配使用。在一段程序运行的过程中突然出现这么一个函数,可以理解为程序将暂停delay_time后,再继续执行后面的代码。

参数介绍

  • delay_time
    • 若值为0,意味着一直等待按键的按下,只有按键按下之后后面的程序才会继续执行
    • 若值为正整数, 假设delay_time=30,程序将在30ms内等待按键的按下,若期间有按键按下,则立刻跳出等待执行后面的程序,反之,需要完整等候30ms再继续执行后面的程序

返回值

返回按键的ASCII值。若没有按键按下则返回-1。

示例

通过3个示例让大家对函数有更加深刻得认识

示例1

同图片显示搭配使用,等待任意按键的按下,即delay_time=0,最终效果是按下任意按键后图片关闭

import cv2
#图片读取函数
def cv_read(path):
    ret=cv2.imread(path)
    if ret is None:
        print("Error!")
        exit()
    return ret
#图片显示函数
def cv_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
def cv_read(path):
    ret=cv2.imread(path)
    if ret is None:
        print("Error!")
        exit()
    return ret
def cv_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
def cv_read(path):
    ret=cv2.imread(path)
    if ret is None:
        print("Error!")
        exit()
    return ret
def cv_show(name,image):
    cv2.namedWindow(name,cv2.WINDOW_NORMAL)
    cv2.imshow(name,image)
    # 持续检测按键情况
    while True:
    	# 当按键为‘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()有初步的认识

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值