opencv c++ 键盘响应操作(8)

思路:用循环和特定输入来退出获取新的响应

代码:

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、在键盘输入时,鼠标应提前点击图像窗口。

结果:

无输入:

opencv c++ 键盘响应操作(8)_第1张图片

 输入1:

opencv c++ 键盘响应操作(8)_第2张图片

 其余输入省略。

你可能感兴趣的:(opencv,c++,opencv,c++,计算机视觉)