- 操作系统: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键来体验下窗口移动的感觉。