OpenCV 学习笔记-day8(键盘键入(waitKey(); 等待键入)操作:当使用键盘键入适当字符时 触发某些操作)

day8-键盘响应操作

函数

waitKey(); 等待键入

当使用键盘键入适当字符时 触发某些操作

代码

quickopencv.h

#pragma once

#include <opencv2\highgui.hpp>

#include <opencv2\imgproc.hpp>

using namespace cv;
//定义类
class QuickDemo{
public:
	void colorSpace_Demo(Mat &image);//色彩空间转换函数2021-12-24
	void mat_creation_demo(Mat &image);//Mat对象与创建2021-12-27
	void pixel_vist_Demo(Mat &image);//图像像素的读写操作2022-1-3
	void operators_demo(Mat &image);//图像像素的算数操作2022-1-4
	void tracking_bar_demo(Mat &image);//滚动条操作演示2022-1-7
	void key_demo(Mat &image);//键盘响应操作2022-1-12
};

OpencvTest.cpp

#include <iostream>
#include <opencv2\highgui.hpp>
#include <opencv2\imgproc.hpp>
#include<quickopencv.h>

using namespace cv;
using namespace std;


int main()
{
	Mat scr = imread("D:\\学习\\OpenCV学习\\pictures\\image\\1.jpg");//打开一张图
	if (!scr.data == 1)//判空
		return -1;
	namedWindow("窗口1", WINDOW_NORMAL);//创建 WINDOW_FREERATIO窗口
	imshow("窗口1",scr);//在创建的窗口显示
	QuickDemo qd;
	qd.key_demo(scr);//键入操作
	waitKey(0);
	return 0;
}



#include <opencv2\highgui.hpp>

#include <opencv2\imgproc.hpp>

#include<quickopencv.h>

#include <iostream>
void QuickDemo::key_demo(Mat &image)
{
	Mat dst = Mat::zeros(image.size(), image.type());
	while (true)
	{
		int c = waitKey(100);
		if (c == 27)//键盘键入 ESC键 退出
		{
			break;
		}
		if (c == 49){//键盘键入 1  可以当键入1时 添加一些功能 比如转成灰度图像
			//std::cout << "you enter key #1" << std::endl;
			cvtColor(image, dst, COLOR_BGR2GRAY);//转灰度
		}
		if (c == 50){//键盘键入 2 转hsv
			//std::cout << "you enter key #2" << std::endl;
			cvtColor(image, dst, COLOR_BGR2HSV);//转hsv
		}
		if (c == 51){//键盘键入 3 调整亮度
			Mat m = Mat::zeros(image.size(), image.type());
			m = Scalar(50, 50, 50);
			add(image,m,dst);
			std::cout << "you enter key #3" << std::endl;
		}
		imshow("键盘响应", dst);
	}//while

}

显示结果

未键入任何字符时
未键入时

键盘键入1 转换为灰度图像
键入1转灰度

键盘键入2 转换为hsv图像
键入2转hsv

键盘键入3 图片增加亮度
键入3增加亮度
键入 ESC键 退出

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值