What does OpenCV#39;s cvWaitKey( ) function do?(OpenCV 的 cvWaitKey() 函数有什么作用?)
问题描述
cvWaitKey()
执行过程中会发生什么?有哪些典型的用例?我在 OpenCV 参考中看到了它,但文档并不清楚其确切用途.
What happens during the execution of cvWaitKey()
? What are some typical use cases? I saw it in OpenCV reference but the documentation isn't clear on its exact purpose.
推荐答案
cvWaitKey(x)/cv::waitKey(x)
做了两件事:
- 它等待 x 毫秒以等待 OpenCV 窗口(即从
cv::imshow()
创建)上的按键.请注意,它不会在 stdin 上侦听控制台输入.如果在此期间按下某个键,则返回该键的 ASCII 代码.否则,它返回-1
.(如果 x 为零,它会无限期地等待按键.) - 它处理任何窗口事件,例如使用
cv::namedWindow()
创建窗口,或使用cv::imshow()
显示图像.
- It waits for x milliseconds for a key press on a OpenCV window (i.e. created from
cv::imshow()
). Note that it does not listen on stdin for console input. If a key was pressed during that time, it returns the key's ASCII code. Otherwise, it returns-1
. (If x is zero, it waits indefinitely for the key press.) - It handles any windowing events, such as creating windows with
cv::namedWindow()
, or showing images withcv::imshow()
.
opencv 新手的一个常见错误是通过视频帧循环调用 cv::imshow()
,而不用 cv::waitKey(30)
跟踪每次绘制代码>.在这种情况下,屏幕上不会显示任何内容,因为 highgui 从来没有时间处理来自 cv::imshow()
的绘制请求.
A common mistake for opencv newcomers is to call cv::imshow()
in a loop through video frames, without following up each draw with cv::waitKey(30)
. In this case, nothing appears on screen, because highgui is never given time to process the draw requests from cv::imshow()
.
这篇关于OpenCV 的 cvWaitKey() 函数有什么作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:OpenCV 的 cvWaitKey() 函数有什么作用?
基础教程推荐
- 您如何将 CreateThread 用于属于类成员的函数? 2021-01-01
- C++ 标准:取消引用 NULL 指针以获取引用? 2021-01-01
- C++,'if' 表达式中的变量声明 2021-01-01
- 调用std::Package_TASK::Get_Future()时可能出现争用情况 2022-12-17
- 如何定义双括号/双迭代器运算符,类似于向量的向量? 2022-01-01
- 设计字符串本地化的最佳方法 2022-01-01
- 如何在 C++ 中处理或避免堆栈溢出 2022-01-01
- 运算符重载的基本规则和习语是什么? 2022-10-31
- C++ 程序在执行 std::string 分配时总是崩溃 2022-01-01
- 什么是T&&(双与号)在 C++11 中是什么意思? 2022-11-04