opencv中键值获取

man在尔归 2016-10-10 08:04:55
while(1)
{
//获取按键值
char c = (char)waitKey();
//按键为esc退出程序
if(c == 27)
break;
//按键为2回复成原始图像
if(c == '2')
{
inpaintMask = Scalar::all(0);
srcImage.copyTo(srcImage1);
imshow("原始图像",srcImage1);
}
//按键为1或者空格,进行图像修补操作
if(c == '1' || c == ' ')
{
Mat inpaintedImage;
inpaint(srcImage1,inpaintMask,inpaintedImage,3,INPAINT_TELEA);
imshow("修补后的效果图",inpaintedImage);
}
为什么c==27的时候不用加单引号,判断c=2,或者其他的就要加单引号,c=27的时候表示按键ESC,将27加上单引号就没有这个作用了,请问为什么呢??
...全文
261 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
man在尔归 2016-10-11
  • 打赏
  • 举报
回复
谢谢,今天看了一下C++基础,才突然明白,然后看到大家都回答了,和书上一样,太好了
赵4老师 2016-10-11
  • 打赏
  • 举报
回复
基础
小灸舞 2016-10-11
  • 打赏
  • 举报
回复
if(c == '2')等价于if(c == 50) 因为字符'2'的ASCII码为50
而if(c == 27)并不等价于if(c == "27")
paschen 2016-10-11
  • 打赏
  • 举报
回复
加引号表示的是对应的那个字符,不加对应是字符的ascii码值,这里你并不是要表示27这两个个字符,而是表示ascii为27的字符

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧