opencv的waitKey函数

waitKey 仅对窗口机制起作用 。若在此之前没有产生窗口,则 waitKey 相当于未执行。opencv对改函数的介绍文档如下:

The function waitKey waits for a key event infinitely (when \texttt{delay}\leq 0 ) or for delay milliseconds, when it is positive. Since the OS has a minimum time between switching threads, the function will not wait exactly delay ms, it will wait at least delay ms, depending on what else is running on your computer at that time. It returns the code of the pressed key or -1 if no key was pressed before the specified time had elapsed.

Note This function is the only method in HighGUI that can fetch and handle events, so it needs to be called periodically for normal event processing unless HighGUI is used within an environment that takes care of event processing.

Note The function only works if there is at least one HighGUI window created and the window is active. If there are several HighGUI windows, any of them can be active.

实例1:
import cv2
img=cv2.imread("1.jpg")
cv2.imshow('lean',img)
k=cv2.waitKey(0)
if k==ord('a'):
    print("ok")
    cv2.destroyAllWindows()
else:
    print("hello")
#当键盘输入字符a时图像窗口关闭
例如输入‘b’,输出hello,重新运行程序,输入‘a',显示图片的窗口关闭

实例2:

import cv2

k=cv2.waitKey(0)
if k==ord('a'):
    print("ok")
    cv2.destroyAllWindows()
else:
    print("hello")
实例2中输出结果永远是hello,因为waitKey无法起作用,k不定


猜你喜欢

转载自blog.csdn.net/zhuiyuanzhongjia/article/details/79718742