当前位置: 首页 > news >正文

OpenCV高级图形用户界面(7)获取指定窗口的属性值函数getWindowProperty()的使用

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

算法描述

提供窗口的参数。

函数 getWindowProperty 返回窗口的属性。
cv::getWindowProperty() 函数用于获取指定窗口的属性值。这个函数允许你查询窗口的各种属性,如窗口的大小、位置或其他特定的属性。

函数的原型

double cv::getWindowProperty
(const String & 	winname,int 	prop_id 
)	

参数

  • 参数winname 窗口的名称。
  • 参数prop_id 要检索的窗口属性。以下操作标志可用:(cv::WindowPropertyFlags)

prop_id 参数可以是以下常量之一:

  • cv::WND_PROP_AUTOSIZE:窗口是否自动调整大小。
  • cv::WND_PROP_ASPECT_RATIO:窗口的纵横比。
  • cv::WND_PROP_FULLSCREEN:窗口是否处于全屏模式。
  • cv::WND_PROP_OPENGL:窗口是否使用 OpenGL 渲染。
  • cv::WND_PROP_VISIBLE:窗口是否可见。

代码示例

#include <opencv2/opencv.hpp>
#include <iostream>int main() {// 加载图像cv::Mat img = cv::imread("example.jpg", cv::IMREAD_COLOR);if (img.empty()) {std::cerr << "Error: Image not found!" << std::endl;return -1;}// 创建窗口std::string winname = "Example Window";cv::namedWindow(winname);// 显示图像cv::imshow(winname, img);// 获取窗口是否自动调整大小的属性double propAutosize = cv::getWindowProperty(winname, cv::WND_PROP_AUTOSIZE);std::cout << "Window autosize property: " << propAutosize << std::endl;// 获取窗口是否处于全屏模式的属性double propFullscreen = cv::getWindowProperty(winname, cv::WND_PROP_FULLSCREEN);std::cout << "Window fullscreen property: " << propFullscreen << std::endl;// 获取窗口是否使用 OpenGL 渲染的属性double propOpenGL = cv::getWindowProperty(winname, cv::WND_PROP_OPENGL);std::cout << "Window OpenGL property: " << propOpenGL << std::endl;// 获取窗口的可见性属性double propVisible = cv::getWindowProperty(winname, cv::WND_PROP_VISIBLE);std::cout << "Window visible property: " << propVisible << std::endl;// 等待键盘输入cv::waitKey(0);// 关闭所有窗口cv::destroyAllWindows();return 0;
}

运行结果

Window autosize property: 1
Window fullscreen property: 0
Window OpenGL property: -1
Window visible property: -1
http://www.lryc.cn/news/465601.html

相关文章:

  • Java实现文件上传功能
  • Leetcode|24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II
  • OpenCV学习笔记5——图像的数值计算
  • P3137 [USACO16FEB] Circular Barn S
  • yocto编辑软件包-devtool的使用方法
  • 51单片机快速入门之 串行通信 2024/10/21
  • webpack 老项目升级记录:node-sass 规定的 node v8 提升至支持 node v22
  • 【wpf】08 xml文件的存取操作
  • 即时通讯代码优化
  • jmeter学习(8)界面的使用
  • 记录一次hiveserver2卡死(假死)问题
  • 【ios】在 SwiftUI 中实现可随时调用的加载框
  • 字符、解释型语言、编程语言的互操作、输出
  • 基于Python的自然语言处理系列(39):Huggingface中的解码策略
  • 如何将视频格式转为mp4?好好看看下面这几个方法
  • 景区智慧公厕系统,监测公厕异味,自动清洁除臭
  • GitLab CVE-2024-6389、CVE-2024-4472 漏洞解决方案
  • hashCode的底层原理
  • hadoop_hdfs详解
  • 【Linux】Linux命令行与环境变量
  • 改变函数调用上下文:apply与call方法详解及实例
  • k8s中的微服务
  • 树莓派--AI视觉小车智能机器人--1.树莓派系统烧入及WiFi设置并进入jupyterlab
  • MacOS安装BurpSuite
  • 【AI工具大全】《史上最全的AI工具合集》
  • qt继承结构
  • 【HCIA复习作业】综合拓扑实验(已施工完)
  • 网络基础知识:交换机关键知识解析
  • 基于System.js的微前端实现(插件化)
  • MedSAM2调试安装与使用记录