OpenCV高级图形用户界面(9)更改指定窗口的位置函数moveWindow()的使用

embedded/2024/10/24 2:13:14/
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

将窗口移动到指定的位置。
cv::moveWindow() 函数用于更改指定窗口的位置。你可以使用这个函数来移动窗口到屏幕上的任何位置。

函数原型


void cv::moveWindow	
(const String & 	winname,int 	x,int 	y 
)	

参数

  • 参数winname 窗口的名称。
  • 参数x 窗口的新 X 坐标。
  • 参数y 窗口的新 Y 坐标。

代码示例


#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::namedWindow( winname, cv::WINDOW_NORMAL );  // 设置窗口大小可变// 初始位置int x = 100;int y = 100;// 显示图像cv::imshow( winname, img );// 使用键盘事件移动窗口while ( true ){int key = cv::waitKey( 10 );  // 等待 10 毫秒if ( key == 27 ){  // 按下 ESC 键退出break;}else if ( key == 'a' ){  // 向左移动x -= 10;}else if ( key == 'd' ){  // 向右移动x += 10;}else if ( key == 'w' ){  // 向上移动y -= 10;}else if ( key == 's' ){  // 向下移动y += 10;}// 更新窗口位置cv::moveWindow( winname, x, y );}// 关闭所有窗口cv::destroyAllWindows();return 0;
}

运行结果

动态效果,静态图看不出效果,你可以按a键、s键、w键、d键来体验下窗口移动的感觉。


http://www.ppmy.cn/embedded/129955.html

相关文章

蓝桥算法双周赛 第 19 场 小白入门赛

打开石门 只要有相连的一样字母就可以消成一个 string s; int ans;void solve() {cin >> s;int len 0;for (int i 0;i < s.size();i ){if (s[i] L) len ;else //遇到Q{ans (len ? 1 : 0); //消除累计的Llen 0;ans ;//遇到Q}}//QLLLL时,最后遇不到Q让累计的L消…

React 进阶阶段学习计划

React 进阶阶段学习计划 目标 掌握自定义Hooks的创建和使用。深入理解上下文&#xff08;Context&#xff09;和Redux的高级用法。学会服务端渲染&#xff08;SSR&#xff09;。深入探讨性能优化技巧。 学习内容 自定义Hooks 创建和使用自定义Hooks 自定义Hooks&#xff1…

【设计模式-原型】

**原型模式&#xff08;Prototype Pattern&#xff09;**是一种创建型设计模式&#xff0c;旨在通过复制现有对象的方式来创建新对象&#xff0c;而不是通过实例化类来创建对象。该模式允许对象通过克隆&#xff08;复制&#xff09;来创建新的实例&#xff0c;因此避免了重新创…

js 基础补充3

1. 闭包 在函数内部定义的函数&#xff0c;可以访问改函数的属性和方法 私有属性 延长变量的生命周期&#xff0c;更好的避免命名冲突 缺点&#xff1a;内存消耗比较大&#xff0c;不建议频繁使用 2. js 原型 原型链 访问对像的属性方法&#xff0c;不光会在对象上查找还会在…

大厂面试真题-了解云原生吗,简单说一下docker和k8s

K8s&#xff08;Kubernetes&#xff09;和Docker都是容器化技术中的关键组件&#xff0c;但它们各自扮演着不同的角色。以下是对这两者的详细解析&#xff1a; 一、Docker Docker是一个开源的容器化平台&#xff0c;它允许开发人员将应用程序及其依赖项打包为一个独立的镜像&…

【利用Seaborn进行高级数据可视化】创建美观且信息丰富的图表!

利用Seaborn进行高级数据可视化&#xff1a;创建美观且信息丰富的图表 数据可视化是数据分析和科学研究中不可或缺的部分。通过有效的图表&#xff0c;我们可以迅速了解数据的分布、趋势和关系。在Python的数据科学生态系统中&#xff0c;Seaborn是一个基于Matplotlib的高级库…

基于单片机的 OLED 显示终端设计分析与研究

摘要: 我国的经济发展速度正在不断加快,经济体制也在经历着一系列的改革,工业发展也正是受到了它的影响,逐步发生变化。在这样的背景下,传统的 LCD 显示技术,逐渐被显示效果更好,功耗更低的 OLED 代替。本文主要介绍了基于单片机的 OLED 显示终端设计,该设计目前具有很…

Flutter UI组件库(JUI)

Flutter UI组件库 (JUI) 介绍 您是否正在寻找一种方法来简化Flutter开发过程&#xff0c;并创建美观、一致的用户界面&#xff1f;您的搜索到此为止&#xff01;我们的Flutter UI组件库&#xff08;JUI&#xff09;提供了广泛的预构建、可自定义组件&#xff0c;帮助您快速构建…