2.8销毁窗口

news2024/9/28 19:21:05

目录

1.实验原理

2.实验代码

3.运行结果


1.实验原理

销毁某一个指定名称的窗口 destoryWindow

函数原型

Destroys a window.

void destroyWindow(const string& winname);

含义
功能: 销毁指定名称的窗口。
参数:
const string& winname: 一个字符串,表示要销毁的窗口的名称。这是用于标识窗口的唯一名称。
返回值:
该函数没有返回值,其类型为 void。
行为
查找与 winname 参数匹配的窗口。
销毁找到的窗口,包括释放与该窗口相关的所有资源。

销毁所有新建的窗口 destoryAllWindows

函数原型

Destroys all of the HighGUI windows.

void destroyAllWindows();

含义
功能: 销毁所有由 OpenCV 创建的 HighGUI 窗口。
参数:
无参数。
返回值:
该函数没有返回值,其类型为 void。
行为
销毁所有当前打开的 HighGUI 窗口,包括释放与这些窗口相关的所有资源。

sprintf_s函数

在C++中,sprintf_s 是一个用于格式化字符串的函数,通常用于将数据转换成字符串形式。这段代码使用的是微软的安全版本 sprintf_s,它是在标准 sprintf 函数的基础上增加了安全特性,以防止缓冲区溢出。

这段代码的具体含义如下:

szName:这是一个字符数组(通常是 char 类型),用来存放格式化后的字符串。
%d.jpg:这是格式化字符串,其中 %d 是一个占位符,表示这里将被一个整数所替换;.jpg 则是字符串的一部分,会被直接添加到结果中。
i+1:这是一个表达式,计算得到的整数值将会被插入到 %d 的位置上。
整体来看,这行代码的功能是将整数 i+1 转换为字符串,并且追加 .jpg 后缀,最终结果存储在 szName 中。例如,如果 i 的值为 5,则最终 szName 的内容会是 "6.jpg"。

2.实验代码

// test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include "pch.h"
#include <opencv2/highgui/highgui_c.h>
#include <opencv2\opencv.hpp>
//#pragma comment(lib, "opencv_world450d.lib")  //引用引入库 
using namespace cv;
#include<iostream>
using namespace std;

int main()
{
	//图像源输入
	vector<Mat>srcImage(5);
	char szName[50] = "";
	for (int i = 0; i < srcImage.size(); i++) 
	{
		sprintf_s(szName, "%d.jpg", i+1);

		srcImage[i] = imread(szName);
		if (srcImage[i].empty())
        { //判断当前vector读入的正确性	
			cout << "read "<< szName<<" error" << endl;
			return -1;
		}
		//调用 单窗口显示图像
		namedWindow(szName, WINDOW_AUTOSIZE);
		imshow(szName, srcImage[i]);//在“窗口1”这个窗口输出图片。
		waitKey(5000);//等待5秒,程序自动退出。改为0,不自动退出。
		destroyWindow(szName);
	}
	//destroyAllWindows();
	cout << "所有的窗口已经销毁了" << endl;
	waitKey(0);
	system("pause");
	return 0;
}

3.运行结果

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

香港租云服务器多少钱一台?

香港租云服务器多少钱一台&#xff1f;香港云服务器的租用价格因配置、带宽、服务等级等因素而异&#xff0c;从数百元到数千元不等。例如&#xff0c;入门级服务器的价格在数百元至一千元之间&#xff0c;适用于个人网站、小型博客等低流量应用。标准型服务器的价格在一千元至…

电商人必看!4招拿捏消费者心理,没有卖不出去的产品

在竞争激烈的电商领域&#xff0c;产品如何脱颖而出&#xff0c;成为消费者心中的首选&#xff0c;不仅依赖于产品的质量与性价比&#xff0c;更在于如何精准把握并巧妙运用消费者心理。今天&#xff0c;我们就来探讨4个关键策略&#xff0c;结合选品建议&#xff0c;帮助电商人…

欠债还钱 天经地义李秘书专业写作:这是一篇涉借款纠纷的民事起诉状

欠债还钱 天经地义 李秘书专业写作&#xff1a;这是一篇涉借款纠纷的民事起诉状 &#xff08;精品范文&#xff09; 民 事 诉 状 原告&#xff1a;李某军&#xff0c;男&#xff0c;现年46岁&#xff0c;无业&#xff0c;现住黑龙江省大兴安岭地区漠河市汉东路阳和门。 被告…

儿童可以用挖耳勺吗?六大挑选妙招需掌握!

耳垢会随着人体的运动量增加&#xff0c;1岁以下的儿童运动量较小&#xff0c;可以不用经常掏耳朵&#xff0c;但随着年龄增长&#xff0c;耳垢也会增多&#xff0c;这时可以适当地给儿童掏耳勺。但掏耳朵的工具要选对&#xff0c;目前市面上不少宣称是儿童专用的掏耳工具&…

汇凯金业:清洗黄金首饰的方法

黄金首饰&#xff0c;作为我们日常生活中常见的饰品&#xff0c;不仅能够提升我们的穿着品味&#xff0c;更彰显了我们的经济实力。然而&#xff0c;黄金首饰戴久了&#xff0c;难免会出现一些污渍&#xff0c;甚至失去原有的光泽。这时候&#xff0c;很多人会选择去专业的珠宝…

【MySQL】SQL语句执行流程

目录 一、连接器 二、 查缓存 三、分析器 四、优化器 五、执行器 一、连接器 学习 MySQL 的过程中&#xff0c;除了安装&#xff0c;我们要做的第一步就是连接上 MySQL 在一开始我们都是先使用命令行连接 MySQL mysql -h localhost -u root -p 你的密码 使用这个命令…

Qt (9)【Qt窗口 —— 如何在窗口中创建菜单栏和工具栏】

阅读导航 引言一、Qt窗口简介二、如何在窗口中创建菜单栏1. 创建菜单栏2. 在菜单栏中添加菜单3. 创建菜单项4. 在菜单项之间添加分割线 三、如何在窗口中创建工具栏1. 创建工具栏2. 设置停靠位置3. 设置浮动属性4. 设置移动属性 引言 在上一篇文章中&#xff0c;我们深入探讨了…

掌握 BM25:深入了解算法及其在 Milvus 中的应用

我们可以通过 Milvus 轻松实现 BM25 算法&#xff0c;将文档和查询转化为稀疏向量。然后&#xff0c;这些稀疏向量可用于向量搜索&#xff0c;根据特定查询找到最相关的文档。 信息检索算法在搜索引擎中非常重要&#xff0c;可确保搜索结果与用户的查询相关。 想象一下&#…

Vue2中watch与Vue3中watch对比和踩坑

上一节说到了 computed计算属性对比 &#xff0c;虽然计算属性在大多数情况下更合适&#xff0c;但有时也需要一个自定义的侦听器。这就是为什么 Vue 通过 watch 选项提供了一个更通用的方法&#xff0c;来响应数据的变化。当需要在数据变化时执行异步或开销较大的操作时&#…

conda环境下在pycharm中调试scrapy项目

前提条件 已经创建好了conda环境已经安装好了scrapy框架项目初始化完成 编写一个爬虫脚本 import scrapyclass StackOverflowSpider(scrapy.Spider):name stackoverflowstart_urls [http://stackoverflow.com/questions?sortvotes]def parse(self, response):print("…

阿一网络安全实战演练之利用 REST URL 中的服务器端参数污染

所需知识 要解决这个实验室问题&#xff0c;您需要了解以下内容&#xff1a; 如何确定用户输入是否包含在服务器端的 URL 路径或查询字符串中。如何使用路径遍历序列尝试更改服务器端请求。如何查找 API 文档。 这些内容在我们的 API 测试学院主题中有涵盖。 进入实验室 研…

终极解决CondaValueError: Malformed version string ‘~’: invalid character(s)问题

conda 创建环境时出现&#xff1a; Solving environment: failed CondaValueError: Malformed version string ‘~’: invalid character(s)以下两种方法都不行时&#xff1a; 原因一&#xff1a; 添加的镜像源中&#xff0c;清华镜像源是https&#xff08;错误&#xff09;&a…

软件测试 - 测试分类(静态测试、动态测试、白盒测试、黑盒测试、灰盒测试、单元测试、集成测试、系统测试、验收测试等)

一、为什么要对软件测试进⾏分类&#xff1f; 软件测试是软件⽣命周期中的⼀个重要环节&#xff0c;具有较⾼的复杂性&#xff0c;对于软件测试&#xff0c;可以从不同的⻆度 加以分类&#xff0c;使开发者在软件开发过程中的不同层次、不同阶段对测试⼯作进⾏更好的执⾏和管理…

R语言管道操作详解-高效编程

引言 R语言是一种广泛应用于统计分析和图形表示的编程语言和软件环境。随着数据分析和数据科学的发展&#xff0c;R语言的管道操作符已经成为提高代码可读性和效率的重要工具。本文将详细介绍R语言中的管道操作符&#xff0c;包括它们的用途、语法和一些实用的示例。 目录 引…

手写签名怎么变成电子签名?

教大家一个快速生成有效电子签名的方法&#xff01;&#xff08;有效电子签名即通过正轨平台绑定了CA数字证书、防伪防盗的签名&#xff09; 1.登录【微签】&#xff0c;点击【自己签】。 2.点【添加文件】&#xff0c;上传需要签名的电子文件&#xff08;格式不限&#xff09;…

一起学习LeetCode热题100道(46/100)

46.二叉树展开为链表(学习) 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。 展开后的单链表应该与二叉树 先序遍历…

Affine Transformations仿射变换

什么是仿射变换 仿射变换&#xff08;Affine Transformation&#xff09;是数学和计算机图形学中的一种线性变换&#xff0c;它包括了平移、旋转、缩放、剪切等操作。仿射变换保留了几何图形的“仿射性质”&#xff0c;即平行线在变换后仍然平行&#xff0c;线性组合在变换后仍…

电机预测性维护模组

设备简介 本模组为了对电机进行预测性运维而开发&#xff0c;可以采集电机的 3 路加速度振动传感器、3 路电流&#xff08;电机供电互感器输出信号&#xff09;、1 路转速&#xff08;电机转速&#xff09;、8 路温度&#xff08;PT100 温度传感器&#xff09;。 模组计算振动…

一文带你看懂安全生产管理系统

通过集成多种先进技术和设备&#xff0c;实现对企业安全生产全过程的智能化、精细化管理。系统分为五个核心层面&#xff0c;各层面相互协作&#xff0c;共同确保企业的安全生产。 1. 数据采集层 设备终端&#xff1a;利用防爆终端、防爆平板、无线传感器、电子标签、定位设备、…

WinForm DataGridView整行选中并且checkbox勾选

WinForm DataGridView选中行设置 文章目录 WinForm DataGridView选中行设置添加checkbox列列和选中行效果选中行代码 添加checkbox列 列和选中行效果 选中行代码 public Basic_configuration(){InitializeComponent();...........//添加鼠标事件this.dataGridView_basic.CellMo…