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

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.kler.cn/news/356119.html

相关文章:

  • 十二、结构型(代理模式)
  • 雷达液位计在污水测量中的应用与优势
  • sentinel原理源码分析系列(四)-ContextEntry
  • Python爬虫进阶:高效数据采集的艺术
  • MySQL-10.DML-添加数据insert
  • 机器视觉入门基础相关概念一 ——单目相机模型
  • 高级java每日一道面试题-2024年10月18日-数据库篇[Redis篇]-一个Redis实例最多能存放多少的keys?
  • OpenWRT 和 Padavan 路由器配置网络打印机 实现远程打印
  • 【从技术到营销的跨界成长】技术人的营销心法与成长秘诀
  • Git_GitHub
  • JavaScript 第19章:Web Storage
  • 什么是堡垒机?安全为什么需要堡垒机?
  • 设计模式-模板方法
  • SQL基础练习题三
  • 极氪汽车困局:营销频繁车、产品力不足
  • 群晖通过 Docker 安装 MySQL
  • 文心一言帮程序员干活:请帮我写出数字1到50的英文
  • Linux C语言 进程详解——fork()/wait()/waitpid()
  • 河北工业大学《2023年+2022年980自动控制原理真题》 (完整版)
  • Docker国内设置镜像最新加速地址