OpenCV高级图形用户界面(8)在指定的窗口中显示一幅图像函数imshow()的使用

news2024/11/29 22:44:35
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

在指定的窗口中显示一幅图像。

函数 imshow 在指定的窗口中显示一幅图像。如果窗口是以 cv::WINDOW_AUTOSIZE 标志创建的,图像将以原始大小显示,不过仍然受限于屏幕分辨率。否则,图像将被缩放以适应窗口。该函数可能根据图像的深度对其进行缩放:

  • 如果图像是 8 位无符号的,它将直接显示。
  • 如果图像是 16 位无符号的,像素值除以 256。也就是说,值范围 [0, 255*256] 被映射到 [0, 255]。
  • 如果图像是 32 位或 64 位浮点类型的,像素值乘以 255。也就是说,值范围 [0, 1] 被映射到 [0, 255]。
    32 位整数图像由于所需变换的模糊性而不再被处理。使用特定于图像上下文的自定义预处理将其转换为 8 位无符号矩阵。
  • 如果窗口是以 OpenGL 支持创建的,cv::imshow 还支持 ogl::Bufferogl::Texture2Dcuda::GpuMat 作为输入。

如果在此函数之前没有创建窗口,假定是使用 cv::WINDOW_AUTOSIZE 创建窗口。

如果你想显示大于屏幕分辨率的图像,你需要在 imshow 之前调用 namedWindow("", WINDOW_NORMAL)

注释
此函数应后跟对 cv::waitKeycv::pollKey 的调用,以执行必要的 GUI 清理任务,从而实际上显示给定的图像并使窗口响应鼠标和键盘事件。否则,它不会显示图像,窗口可能会锁定。例如,waitKey(0) 将无限期地显示窗口,直到按下任何键(适用于显示图像)。waitKey(25) 将显示一帧并大约等待 25 毫秒的按键(适用于逐帧显示视频)。要移除窗口,请使用 cv::destroyWindow
[仅 Windows 后端] 按下 Ctrl+C 将图像复制到剪贴板。按下 Ctrl+S 将显示一个对话框来保存图像。

函数原型

void cv::imshow	
(
	const String & 	winname,
	InputArray 	mat 
)	

参数

  • 参数winname 窗口的名称。
  • 参数mat 要显示的图像。

代码示例


#include <iostream>
#include <opencv2/opencv.hpp>

int main()
{
    // 加载图像
    cv::Mat img = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/hawk.jpg", cv::IMREAD_COLOR );
    if ( img.empty() )
    {
        std::cerr << "Error: Image not found!" << std::endl;
        return -1;
    }

    // 创建并显示图像的窗口
    std::string winname = "Example Window";
    cv::imshow( winname, img );

    // 等待键盘输入
    // waitKey(0) 将无限期地等待按键,直到用户按下任意键
    cv::waitKey( 0 );

    // 或者
    // waitKey(25) 将显示一帧并大约等待 25 毫秒的按键
    // cv::waitKey(25);

    // 关闭所有窗口
    cv::destroyAllWindows();

    return 0;
}

运行结果

在这里插入图片描述

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

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

相关文章

遵循国药准字,确保益安宁丸疗效与安全

益安宁丸真品辨别唯一标准 益安宁丸为同溢堂药业有限公司所独家生产的一款中成药&#xff0c;在内地市场和港澳地区均有上市。 益安宁丸真品的唯一标准&#xff1a;无论港版还是内地版&#xff0c;包装盒必然有国药准字Z20063087标识&#xff0c;但凡没有国药准字标识的必为假…

性价比最高的开放式耳机,五大热门品牌开放式耳机

在当今快节奏的生活环境中&#xff0c;开放式耳机以其独特的开放式设计&#xff0c;既能让用户享受高质量的音乐&#xff0c;又能保持对外界环境的感知&#xff0c;逐渐成为市场上的新宠。然而&#xff0c;面对众多品牌和型号&#xff0c;如何选择一款性价比高的开放式耳机成为…

IDEA 编译报错 “java: 常量字符串过长” 的解决办法

目录 一、问题描述二、问题原因2.1 理论角度2.2 源码角度 三、解决方案解决方案①&#xff1a;StringBuilder 拼接解决方案②&#xff1a;读取文件内容 四、方案验证 在线文本换行工具&#xff1a; https://lzltool.cn/Toolkit/WrapWordsInText 一、问题描述 今天在开发过程中…

JavaScript全面指南(五)

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;JavaScript篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来JavaScript篇专栏内容:JavaScript全面指南 目录 81、ES6 class关键字原理跟function什么区别 82、如何检…

Vue(3) 组件

文章目录 对组件的理解单文件组件非单文件组件基本使用几个注意点组件的嵌套VueComponent构造函数一个重要的内置关系 组件的自定义事件全局事件总线安装全局事件总线使用事件总线解绑事件消息订阅与发布简介使用步骤范例 $nextTick插槽1.默认插槽2.具名插槽作用域插槽 对组件的…

某市驾驶培训监管服务平台 GreatSQL 数据库适配之旅

某市驾驶培训监管服务平台 GreatSQL 数据库适配之旅 一、项目背景 某市驾培系统主要为社会公众提供驾培单位查询和学车报名&#xff0c;为相关合作单位提供某市驾培监管、某市驾培考核等功能。业务信息教练车培训过程视频信息、包括培训机构基本信息、教练员基本信息和学员个…

从零创建苹果App应用,不知道怎么申请证书的可以先去看我的上一篇文章

用大家自己的开发者账户&#xff0c;登录进入App Store Connect ,注册自己的应用 进入之后&#xff0c;点击增加 填写相关的信息 一切顺利的话&#xff0c;就可以来到这个页面

【Java】画心形图形

开始看到的是这个爱心图形&#xff0c;挺好看的&#xff08;感谢这些前端巨佬&#xff09;&#xff1a; HTML流光爱心_爱心代码html-CSDN博客 本来想着自己看下这个源代码能不能实现&#xff0c;看了下源代码其实非常复杂。 在看代码的过程中发现&#xff0c;源代码里边给出…

5: Euclid‘s Game

题意分析&#xff1a;给定数列&#xff08;A,B&#xff09;&#xff08;A>B&#xff09;&#xff0c;任取两数之差&#xff0c;若不含于数列&#xff08;A,B&#xff09;则添加得&#xff08;A.B,C&#xff09;重复任取两数之差且不重复得&#xff08;A,B,C,...&#xff09;…

【汇编语言】寄存器(内存访问)(二)—— DS和[address]

前言 &#x1f4cc; 汇编语言是很多相关课程&#xff08;如数据结构、操作系统、微机原理&#xff09;的重要基础。但仅仅从课程的角度出发就太片面了&#xff0c;其实学习汇编语言可以深入理解计算机底层工作原理&#xff0c;提升代码效率&#xff0c;尤其在嵌入式系统和性能优…

微信外卖小程序(lw+演示+源码+运行)

摘 要 社会的发展和科学技术的进步&#xff0c;互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱&#xff0c;也逐渐进入了每个用户的使用。手机具有便利性&#xff0c;速度快&#xff0c;效率高&#xff0c;成本低等优点。 因此&#xff0c;构建符合自己要求的操作…

【优选算法】(第四十一篇)

目录 被围绕的区域&#xff08;medium&#xff09; 题目解析 讲解算法原理 编写代码 迷宫中离⼊⼝最近的出⼝&#xff08;medium&#xff09; 题目解析 讲解算法原理 编写代码 被围绕的区域&#xff08;medium&#xff09; 题目解析 1.题目链接&#xff1a;. - 力扣&a…

DevExpress WPF中文教程:Data Grid(数据网格)实现细节一览

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

LLM - 配置 ModelScope SWIFT 测试 Qwen2-VL 视频微调(LoRA) 教程(3)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/142882496 免责声明&#xff1a;本文来源于个人知识与公开资料&#xff0c;仅用于学术交流&#xff0c;欢迎讨论&#xff0c;不支持转载。 SWIFT …

Java项目:155 ssm高校学生管理系统(含论文+说明文档)

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 高校学生管理系统有管理员&#xff0c;教师&#xff0c;学生三个角色。 ​ 有个人中心&#xff0c;教师管理&#xff0c;学生管理&#xff0…

Spring MVC:精通JSON数据返回的几种高效方式

前言 在实际开发中&#xff0c;我们在前后端传送数据通常使用Json格式&#xff0c;而在Spring MVC中返回Json格式的方式有多种&#xff0c;接下来我将介绍其中一些。 准备工作 为了演示Json格式的数据&#xff0c;我们准备一个实体类&#xff0c;例如User&#xff0c;这些可以测…

Ubantu配置net8.0环境

1、下载net8.0SDK包 下载地址&#xff1a;Download .NET 8.0 (Linux, macOS, and Windows) 下载命令&#xff1a; wget https://download.visualstudio.microsoft.com/download/pr/853490db-6fd3-4c17-ad8e-9dbb61261252/3d36d7d5b861bbb219aa1a66af6e6fd2/dotnet-sdk-8.0.4…

“DataOps+大模型”——数造科技在大模型时代的数据开发创新探索

写在前面 自《“数据要素x”三年行动计划》印发以来&#xff0c;各界积极投身于探索数据开发的新技术、新应用场景和新模式&#xff0c;力求通过挖掘数据要素的价值来推动新型生产力的蓬勃发展。在这个过程中&#xff0c;以大模型为核心的人工智能技术为数据开发工作带来了全新…

中学数学教学期刊是核心期刊吗?

中学数学教学期刊是核心期刊吗&#xff1f; 《中学数学教学》不是核心期刊&#xff0c;属于省级期刊。 该期刊由安徽省教育厅主管&#xff0c;合肥师范学院、安徽师范大学数学系、安徽省数学学会主办。 虽然它在中学数学教育领域有一定的影响力&#xff0c;被中国国家哲学社…

springboot 整合 快手 移动应用 用户事件 消息回调 验证

快手 移动应用 WebHook 接入指南https://mp.kuaishou.com/platformDocs/openAbility/webHook/accessGuide.html 上代码 import cn.dev33.satoken.annotation.SaIgnore; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import lombok.RequiredArgsConstruc…