菜鸟求教OpenCV的小程序 while(1){ key=cvWaitKey(5000); if(key==27) break; switch(key)...求指出问题

switch的选项似乎都不进行对照就直接进入我的default部分了。

请问你自己在输入key的时候是输入的Ascall码值不,还是直接输入的字母,你要知道你定义的key是整型的...你把int key;改为char key;这样就好了
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-07
直接看你发的程序看不出问题来…你试试把case里的改成ASCII码数字呢?
会不会你使用的是Unicode编译环境所以char对不上。。本回答被网友采纳
第2个回答  2012-12-18
不能吧,发个完整点程序追问

void main()
{
int key;
while(1){
key=cvWaitKey(5000);
if(key==27) break;

switch(key){
case 'h':
printf("The key is h.\n");
break;
case 'i':
printf("The key is i.\n");
break;
default:
printf("The key cannot be found.\n");
exit(0);
}
}
}
编译没问题的所以头函数没截,谢谢!

追答

肉眼没看出来有啥毛病
你试试 把key 改成char试试?
我有空调调。

相似回答