思路:用循环和特定输入来退出或获取新的响应。
代码:
void QuickDemo::key_demo(Mat& image) {
Mat dst = Mat::zeros(image.size(),image.type());
while (true) {//用于在循环时监听键盘的操作
int c = waitKey(100);//设置等待时间
if (c == 27) {
cout << "退出 enter esc(27)" << endl;
break;
}
if (c == 49) {//Key 1
cout << "you enter key 1" << endl;
cvtColor(image, dst, COLOR_BGR2GRAY);
}
if (c == 50) {//Key 2
cout << "you enter key 2" << endl;
cvtColor(image, dst, COLOR_BGR2HSV);
}
if (c == 51) {//Key 3
cout << "you enter key 3" << endl;
dst = Scalar(50, 50, 50);
add(image, dst, dst);
}
imshow("键盘响应", dst);
}
}
注意:
1、在对视频进行分析时,waitKey值应尽可能小。
2、在键盘输入时,鼠标应提前点击图像窗口。
结果:
无输入:

输入1:

其余输入省略。
这篇博客介绍了如何在Matlab中使用while循环监听键盘输入,并根据不同的键值进行图像处理操作,如灰度转换、HSV转换和颜色叠加。通过实例说明了在视频分析中有效利用waitKey函数以及注意事项。
4621

被折叠的 条评论
为什么被折叠?



