zoukankan      html  css  js  c++  java
  • waitKey()

     waitKey仅对窗口机制起作用,即namedWindow产生的窗口。若在此之前没有产生窗口,则waitKey相当于未执行。

     注:namedWindow产生的窗口: namedWindow()+imshow()    或者   只有imshow() 都是可以的。

    /***********************************************************************************/

    openv中对cvWaitkey函数的定义如下:

    int cvWaitKey( int delay=0 )

    返回值为int型,函数的参数为int型,当delay小于等于0的时候,如果没有键盘触发,则一直等待,此时的返回值为-1,否则返回值为键盘按下的码字;当delay大于0时,如果没有键盘的的触发,则等待delay的时间,此时的返回值是-1,否则返回值为键盘按下的码字。

    测试代码如下:

    #include<stdio.h>
    #include<cv.h>
    #include<highgui.h>
    int main()
    { IplImage *src=cvLoadImage("car.jpg",-1);
     cvShowImage("car",src);
     int t=cvWaitKey(-1);
     printf("cvWaitKey return: %d",t);
     return 0;
    }

    /*************************************************************************************/

    waitKey有两个作用:

    1. It waits for x milliseconds for a key press. If a key was pressed during that time, it returns the key's ASCII code. Otherwise, it returns -1.

    2It handles any windowing events, such as creating windows with cv::namedWindow(), or showing images with cv::imshow().

        格式:

    waitKey(x);

    第一个参数: 等待x ms,如果在此期间有按键按下,则立即结束并返回按下按键的

    ASCII码,否则返回-1

    如果x=0,那么无限等待下去,直到有按键按下

             另外,在imshow之后如果没有waitKey语句则不会正常显示图像。

    附: 

    int c=cv::waitKey(0);
    if((char)c==27)//27:Esc//>a
    break;
    if((char)c=='r')//>b

    以上>a和>b中(char)加与不加都是等价的!

  • 相关阅读:
    Mysql外键和表关系
    列类型-字符类型
    列类型-日期时间型
    列类型
    破解MySQL的root密码
    数据库简单使用
    数据库简介
    socketserver
    python网络编程-粘包问题的解决
    python-网络编程,简单模型
  • 原文地址:https://www.cnblogs.com/ttzm/p/5418791.html
Copyright © 2011-2022 走看看