八、键盘响应

之前博文格式已经固定,这里就不在赘述了,直接把核心代码进行解释一下即可,仅作为小笔记而已

项目实现功能:
按下键盘0,显示原始图像
按下键盘1,显示原始图像的灰度图
按下键盘2,显示原始图像的HSV色域空间
按下键盘3,显示原始图像像素点全部增加50

一、头文件

定义接口

头文件名称:key.h

#pragma once
#include<opencv2/opencv.hpp>using namespace cv;class KeyDemo {public:void key_response(Mat& image);
};

二、函数实现

#include"key.h",导入头文件,调用接口
namedWindow("response", WINDOW_FREERATIO);,起一个新窗口用于展示结果
Mat result = Mat::zeros(image.size(), image.type());,定义一个全为0和原图大小规格一样的图片,对象为result,初始化为全0的黑色图片

在ASCII编码中键盘上的按键其中数字0对应48,数字1对应49,数字2对应50,数字3对应51,ESC对应27

#include"key.h"
#include <iostream>
#include <opencv2/opencv.hpp>void KeyDemo::key_response(Mat& image) {namedWindow("response", WINDOW_FREERATIO);Mat result = Mat::zeros(image.size(), image.type());std::cout << "please select your key:" << std::endl;std::cout << "0 is origin\n1 is GRAY\n2 is HSV\n3 is light\n" << std::endl;while (true) {int c = waitKey(200);if (c == 27) {break;}if (c == 48) {std::cout << "enter is 0、";result = image;}if (c == 49) {std::cout << "enter is 1、";cvtColor(image,result,COLOR_BGR2GRAY);}if (c == 50) {std::cout << "enter is 2、";cvtColor(image, result, COLOR_BGR2HSV);}if (c == 51) {std::cout << "enter is 3、";result = Scalar(50,50,50);add(image, result, result);}imshow("response", result);}}

三、主函数

#include <opencv2/opencv.hpp>
#include <iostream>
#include "key.h"using namespace cv;
using namespace std;int main(int argc, char** argv) {Mat src = cv::imread("E:/C++_workspace/beyond.jpg", IMREAD_COLOR);if (src.empty()) {printf("load image is false...\n");return -1;}namedWindow("yanyu", WINDOW_FREERATIO);imshow("yanyu", src);KeyDemo yy;yy.key_response(src);waitKey(0);destroyAllWindows();return 0;
}

项目结构如图所示:
在这里插入图片描述
运行效果如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/469114.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软考26-上午题-图3

一、图的遍历 从图中的某个顶点出发&#xff0c;沿着某条搜索路径对图中的所有顶点进行访问&#xff0c;且&#xff0c;只访问一次的过程。 图的遍历比树的遍历复杂&#xff0c;因为要避免对顶点进行重复访问&#xff0c;所以在图的遍历过程中&#xff0c;必须记下每个已访问…

【C/C++】2024春晚刘谦春晚魔术步骤模拟+暴力破解

在这个特别的除夕夜&#xff0c;我们不仅享受了与家人的温馨团聚&#xff0c;还被电视机前的春节联欢晚会深深吸引。特别是&#xff0c;魔术师刘谦的精彩表演&#xff0c;为我们带来了一场视觉和心灵的盛宴。在我的博客“【C/C】2024春晚刘谦春晚魔术步骤模拟暴力破解”中&…

Vulnhub靶机:DC3

一、介绍 运行环境&#xff1a;Virtualbox 攻击机&#xff1a;kali&#xff08;10.0.2.15&#xff09; 靶机&#xff1a;DC3&#xff08;10.0.2.56&#xff09; 目标&#xff1a;获取靶机root权限和flag 靶机下载地址&#xff1a;https://www.vulnhub.com/entry/dc-32,312…

Python爬虫之Ajax分析方法与结果提取

爬虫专栏&#xff1a;http://t.csdnimg.cn/WfCSx Ajax 分析方法 这里还以前面的微博为例&#xff0c;我们知道拖动刷新的内容由 Ajax 加载&#xff0c;而且页面的 URL 没有变化&#xff0c;那么应该到哪里去查看这些 Ajax 请求呢&#xff1f; 1. 查看请求 这里还需要借助浏…

基于Spring Boot的足球青训俱乐部管理后台系统,计算机毕业设计(带源码+论文)

源码获取地址&#xff1a; 码呢-一个专注于技术分享的博客平台一个专注于技术分享的博客平台,大家以共同学习,乐于分享,拥抱开源的价值观进行学习交流http://www.xmbiao.cn/resource-details/1757420859554869250

代码随想录算法训练营Day31 | 455.分发饼干、376.摆动序列、53.最大子数组和

455.分发饼干 很简单的思路&#xff1a;小孩和饼干分别排个序&#xff0c;逐个匹配即可 确实有那种感觉了&#xff1a;这也叫算法吗&#xff1f;&#xff08; int findContentChildren(vector<int>& g, vector<int>& s) {std::sort(g.begin(), g.end())…

openGauss学习笔记-219 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-网络

文章目录 openGauss学习笔记-219 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-网络219.1 查看网络状况 openGauss学习笔记-219 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-网络 获取openGauss节点的CPU、内存、I/O和网络资源使用情况&#xff0c;确认这些资源…

MySQL-----函数篇

目录 ▶ 字符串函数 ▶ 数值函数 ▶ 日期函数 ▶ 流程函数 ▶ 简介 函数是指一段可以直接被另一段程序调用的程序或代码。 ▶ 字符串函数 函数描述实例ASCII(s)返回字符串 s 的第一个字符的 ASCII 码。 返回 CustomerName 字段第一个字母的 ASCII 码&#xff1a; S…

软件实例分享,宠物店兽医电子处方开单系统软件教程

软件实例分享&#xff0c;宠物店兽医电子处方开单系统软件教程 一、软件教程问答 以下教程以 佳易王宠物店兽医电子处方软件V16.0为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 问&#xff1a;宠物医院电子处方单子使用的纸张大小是多少&…

七天入门大模型 :LLM大模型基础知识最全汇总

七天入门LLM大模型学习 旨在帮助初学者理解和学习LLM的基础概念和实践。 未来七天&#xff0c;我将每天为大家推出一篇课程内容&#xff0c;感兴趣的小伙伴们可关注我们 文章目录 技术交流群用通俗易懂方式讲解系列基础模型研究模型定制新范式LLM类型介绍多模态模型Agent模型C…

国安永远争第一-《软件方法》自测题解析036

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 《软件方法》第5章自测题2 3 [ 单选题 ] 经过连续八轮不胜&#xff0c;穿着绿色球衣的主队终于2:1险胜客队。主场球迷小张兴奋至极&#xff0c;从球场出来后经过街边一台ATM时&#…

不止于浏览器:掌握Node.js,开启全栈开发新篇章!

介绍&#xff1a;Node.js是一个基于Chrome V8引擎的JavaScript运行时环境&#xff0c;特别适合构建高性能的网络服务器和实时应用。具体介绍如下&#xff1a; 服务器端JavaScript&#xff1a;Node.js的核心优势之一是在服务器端运行JavaScript&#xff0c;这使得前端开发者可以…