OpenCV - char vs. int

OpenCV - char vs. int

本文关键字:int vs char OpenCV      更新时间:2023-10-16

摘自Learning OpenCV关于阅读AVI视频的书

我输入的程序如下:

char c = cvWaitKey(33);
if (c == 27) break;

可以看出,c被定义为char。为什么if-statement比较cint ?

并且,当我们有这个语句:char c = cvWaitKey(33);时,cvWaitKey(33);返回的char值是多少?

谢谢。

char只是一个介于-128和127之间的数字(如果是无符号的,则为0和255),通常(但不总是)表示ASCII字符代码。

编译器在将整数字面值隐式转换为char时没有问题,如果它在有效值范围内,这就是if语句中发生的情况。

cvWaitKey函数返回被按下的键的字符代码。ASCII字符码27恰好对应于ESC键。

cvWaitKey的参数(33)是等待的毫秒数。每帧等待33ms(这是我所期望的)意味着应用程序以30fps的速度运行。