0
点赞
收藏
分享

微信扫一扫

网关gateway

言午栩 2024-11-05 阅读 7
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

等待按键

该函数 waitKey 在 delay≤0 时无限等待按键事件,或者在 delay 为正数时等待 delay 毫秒。由于操作系统在切换线程时有最小时间间隔,因此函数不会精确等待 delay 毫秒,而是至少等待 delay 毫秒,具体取决于计算机当时正在运行的其他任务。函数返回按下的键的代码,如果没有按键在指定时间内被按下,则返回 -1。如果只想检查是否有按键但不等待,可以使用 pollKey。

注意事项
函数 waitKey 和 pollKey 是 HighGUI 中唯一可以获取和处理 GUI 事件的方法,因此除非 HighGUI 在一个负责事件处理的环境中使用,否则需要定期调用其中一个函数来进行正常的事件处理。

该函数只有在至少创建了一个 HighGUI 窗口并且该窗口处于活动状态时才有效。如果有多个 HighGUI 窗口,任何一个都可以是活动的。

函数原型

int cv::waitKey	
(
	int 	delay = 0
)	

参数

  • 参数delay:等待的时间,单位是毫秒。
    • 如果 delay 大于 0,则函数等待指定的毫秒数。
    • 如果 delay 等于 0 或小于 0,则函数无限期等待,直到用户按下键盘键。

代码示例


#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;

int main()
{
    // 加载一张图片
    Mat image = imread( "/media/dingxin/data/study/OpenCV/sources/images/hawk.jpg" );
    if ( image.empty() )
    {
        cout << "无法加载图片,请检查路径是否正确。" << endl;
        return -1;
    }

    // 创建一个窗口
    namedWindow( "Image Window", WINDOW_AUTOSIZE );

    // 显示图片
    imshow( "Image Window", image );

    // 等待用户按键
    int key = waitKey( 0 );  // 无限期等待,直到用户按下按键

    // 输出用户按下的键的ASCII码值
    cout << "用户按下的键的ASCII码值为: " << key << endl;

    // 清理资源
    destroyAllWindows();

    return 0;
}
举报

相关推荐

0 条评论