OpenCV版本4.3.0
Waitkey(int delay=x)介绍
一、官方介绍
函数waitKey无限期地等待一个键事件或等待延迟毫秒,当x为正时,由于操作系统在切换线程之间的时间最短,因此函数不会完全延迟毫秒,它至少会延迟毫秒,这取决于其他的延迟当时正在您的计算机上运行。它返回按键的代码,如果没有按键,则返回-1在指定时间之前按下。
此函数是HighGUI中唯一可以获取和处理事件的方法,因此需要定期调用以进行正常事件处理,除非在负责事件处理。
仅当至少创建了一个HighGUI窗口且该窗口处于活动状态时,该函数才起作用。
如果有多个HighGUI窗口,则其中任何一个都可以处于活动状态。
参数延迟(毫秒)。0是表示“永远”的特殊值。
二、使用心得
Waitkey在你加载图片时必须使用,否则就会一闪而过;
当x>0,waitkey返回在x时间内按下的按键的ASCII值,否则返回-1;
当x=0,waitkey表示永久等待,直到有键按下;
如果想要查看按键的ASCII码,必须有namewindows,然后在窗口界面键入键盘值,在终端查看。
代码如下:
int main(int argc, char** argv) {
int c;
Mat src, dst;
char output_image[] = "output_image";
src = imread("C:/Users/lenovo/OneDrive/桌面/1.jpeg");
if (!src.data) {
printf("could not load image...\n");
return -1;
}
namedWindow("input image", WINDOW_AUTOSIZE);
while (true) {
c = waitKey(500);
cout << c << endl;
if (c == 27)
break;
}
}
结果:如果键盘按下,返回键盘值对应的ASCII码,否则返回-1.
.