平台:
C++:
int cv
::waitKey
(int delay
= 0)
Python:
retval
= cv
.waitKey( [,delay
])
官方解释:
当delay≤0时,函数waitKey无限等待键事件(即按下按键),或者等待正数时长的延迟(单位:毫秒)。
注意:
由于操作系统在切换线程之间的间隔时间最短,因此该功能将不会等待确切的延迟毫秒,而是将至少等待延迟毫秒,具体取决于当时计算机上正在运行的其他东西。它返回所按下键的代码,如 Esc = 27 。如果在经过指定时间之前未按下任何键,则返回 -1 。需要注意不同 delay 值的不同耗时。
测试代码
#include<stdio.h>
#include<opencv2/opencv.hpp>
#include <time.h>
using namespace cv
;
using namespace std
;
int main()
{
Mat src
= imread("1.jpg");
double start
, end
;
imshow("car", src
);
start
= clock();
int delay
= waitKey(1000);
end
= clock();
cout
<< "TotalTime = " << (double)((end
- start
) * 1000 / CLOCKS_PER_SEC
) << "ms" << endl
;
printf("waitKey = %d", delay
);
return 0;
}
其它参数
都需要按键操作
int delay
= waitKey(-1);
int delay
= waitKey(0);
结论
如果 delay > 0 ,在规定的 delay时间 内没有按键操作,则返回 -1 ,否则返回对应的 ASCII值 。 如果 delay = 0 或 delay < 0 ,返回对应的 ASCII值 。