cv.waitkey() parameter details

When displaying images, cv.Waitkey() is often used for interaction. Refer to other people's code, everyone uses different numbers in it. I got the answer after looking up the information, so make a record.

1. Official website explanation

def waitKey(delay=None): # real signature unknown; restored from __doc__
"""
waitKey([, delay]) -> retval
.   @brief Waits for a pressed key.
.   
.   The function waitKey waits for a key event infinitely (when \f$\texttt{delay}\leq 0\f$ ) 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.
但这个delay的时间是正数时,这个函数是在一个给定的delay时间内(单位ms)等待用户按键触发;如果用户没有按下键,则接续等待(循环)。
.   @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.
.   
.   @param delay Delay in milliseconds. 0 is the special value that means "forever".
如果设置waitKey(0),则表示程序会无限制的等待用户的按键事件
"""

2. General application method:

  •  while(1){ if(waitKey(100)==27)break; }

In this program, we tell OpenCv to wait for the user to trigger the event. The waiting time is 100ms. If the user presses ESC (ASCII code 27) within this time period, then it will jump out of the loop, otherwise, it will jump out of the loop.

  • while(1){if(waitkey(1000)==ord('q'))break;}

We tell OpenCv to wait for the user to trigger the event. The waiting time is 1000ms. If the user presses'q' within this period of time, it will jump out of the loop, otherwise, it will jump out of the loop.

Guess you like

Origin blog.csdn.net/weixin_40244676/article/details/103920924