getchar函数是C++基础函数
waitKey函数是opencv库函数
两个函数的作用都是响应用户键盘输入,获取用户输入字符的ASCII码
getchar();从键盘读取一个字符并输出,该函数的返回值是输入第一个字符的ASCII码;若用户输入的是一连串字符,函数直到用户输入回车时结束,输入的字符连同回车一起存入键盘缓冲区。若程序中有后继的getchar();函数,则直接从缓冲区逐个读取已输入的字符并输出,直到缓冲区为空时才重新读取用户的键盘输入。
WaitKey()函数的功能是不断刷新图像,频率时间为delay,单位为ms。
返回值为当前键盘按键值。
所以显示图像时,如果需要在cvShowImage("xxxx.bmp",image)后加上while(cvWaitKey(n)==key)为大于等于0的数即可,那么程序将会停在显示函数处,不运行其他代码;直到键盘值为key的响应之后。
delay>0时,延迟"delay"ms,在显示视频时这个函数是有用的,用于设置在显示完一帧图像后程序等待"delay"ms再显示下一帧视频;如果使用WaitKey(0)则只会显示第一帧视频。
当delay<=0的时,如果没有键盘触发,则一直等待,否则返回值为键盘按下的码字;
返回值:返回值为int型,函数的参数为int型.如果delay>0,那么超过指定时间则返回-1;如果delay<=0时,函数WaitKey无限制的等待按键事件,所以显示图像时,需要在cvShowImage("**.bmp",image)后加上WaitKey(n)——n为小于等于0的数即可,程序停在显示函数处,不运行其他代码;否则,图像无法正常显示。如果程序想响应某个按键,可利用if(WaitKey(1)==Keyvalue);