• cvwaitkey理解


    首先,在cvWaitKey(k)中,k的单位为毫秒,1000毫秒等于1秒,同时,根据资料的说明,在显示图像的时候,每秒显示27、28帧的时候,我们看到的视频是流畅的。同时采取25帧的话,k=1000/25=40。即,没处理完一帧后,程序会等待40毫秒才会读取下一帧;

    1.显示图像,一般要在cvShowImage()函数后加一句cvWaitKey(0),此时程序显示出图像后将暂停,等待接收一个键盘输入;若没有这句话,则显示图像的代码很快就执行过去了,所以要用cvWaitKey()来暂停。

    2.显示视频时,一般用cvWaitKey(delay) delay是延时的ms数。表示显示一帧,然后等delay ms ,再显示下一帧。如果没有cvWaitKey的话, 那么循环里面的每个指令执行时间为0.0000000001s,总之趋近于0.那么capture可能有10000帧图像, 那么10000帧图像也之需要0.000001s就播放完了, 结果你还没看到画面,就已经黑屏了 ....

    若delay=0,则无限期等待,直到按下键盘任意按键。

    3.

         char c = cvWaitKey(200);
      

              if (c == 27)

                     break;

         c :为按键的ASCⅡ码值,常用ASCⅡ码值:

               ESC:ASCⅡ码27

               回车:ASCⅡ码13

               换行(Ctrl + Enter):ASCⅡ码10

               空格:ASCⅡ码32

  • 相关阅读:
    Linux系统调用函数
    服务器编程模型
    Make bare repository out of git svn init
    关于云的思考
    LDAP groovy 访问代码样例
    恢复corrupted gitsvn repository的过程记录
    代码提交日志规范
    Oracle SqlDeveloper/Jdeveloper extension
    HowTo Change Oracle SqlDeveloper Languange
    Nginx 502 Bad Gateway错误的解决办法
  • 原文地址:https://www.cnblogs.com/necp-zwl/p/6512394.html
Copyright © 2020-2023  润新知