思路:用循环和特定输入来退出或获取新的响应。
代码:
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:
其余输入省略。