目标

对窗口进行操作。涉及 namedWindow()、resizeWindow() 、destroyWindow() 和 destroyAllWindows() 四个函数。

创建窗口

作用

创建指定名字的窗口。如果该名字窗口已经存在,则直接返回。

头文件

C++

#include <opencv2/highgui.hpp>

函数原型

C++

void cv::namedWindow(const String& winname, int flags = WINDOW_AUTOSIZE)

Python

None = cv.namedWindow(winname[, flags])

输入参数

winname           要创建的窗口名字

flags                 标志

返回值

void                  无返回值。

调用例子

C++

cv::namedWindow("WinName");

Python

cv.namedWindow('WinName')

调整窗口大小

作用

调整指定名字窗口大小。

头文件

C++

#include <opencv2/highgui.hpp>

函数原型

C++

void cv::resizeWindow(const String& winname, int width,int height);
void cv::resizeWindow(const String& winname, const cv::Size &size);

Python

None = cv.resizeWindow(winname, width, height)
None = cv.resizeWindow(winname, size)

输入参数

winname           窗口名字

width                调整后窗口宽度,单位为 pixel

height              调整后窗口高度,单位为 pixel

size                 调整后窗口尺寸,单位为 pixel

返回值

void                  无返回值。

调用例子

C++

cv::resizeWindow("WinName", 100, 200);
cv::resizeWindow("WinName", cv::Size(100, 200));

Python

cv.resizeWindow("WinName", 100, 200);
cv.resizeWindow("WinName", cv.Size(100, 200));

删除指定窗口

作用

删除指定名字的窗口。如果该名字窗口不存在,则直接返回。

头文件

C++

#include <opencv2/highgui.hpp>

函数原型

C++

void cv::destroyWindow(const String& winname)

Python

None = cv.destroyWindow(winname)

输入参数

winname           要删除的窗口名字

返回值

void                  无返回值。

调用例子

C++

cv::destroyWindow("WinName");

Python

cv.destroyWindow('WinName')

删除所有窗口

作用

删除所有的 HighGUI 窗口。

头文件

C++

#include <opencv2/highgui.hpp>

函数原型

C++

void cv::destroyAllWindows()

Python

None = cv.destroyAllWindows()

输入参数

返回值

void                  无返回值。

调用例子

C++

cv::destroyAllWindows();

Python

cv.destroyWindow()

完整例子

C++

#include <opencv2/highgui.hpp>#if defined(_DEBUG)
#pragma comment(lib, "opencv_world420d.lib")
#else
#pragma comment(lib, "opencv_world420.lib")
#endifusing namespace cv;int main(int argc, char** argv) {// Create a window for display.cv::namedWindow("Window0", cv::WINDOW_AUTOSIZE);cv::waitKey(0); // Wait for a keystroke in the window// 调整窗口大小为100, 200cv::resizeWindow("Window0", 100, 200);cv::waitKey(0); // Wait for a keystroke in the window// 调整窗口大小为100, 100cv::resizeWindow("Window0", cv::Size(100, 100));cv::waitKey(0); // Wait for a keystroke in the window// Create a window for display.cv::namedWindow("Window1", cv::WINDOW_AUTOSIZE);cv::waitKey(0); // Wait for a keystroke in the window// 调整窗口大小为200, 200cv::resizeWindow("Window1", 200, 200);cv::waitKey(0); // Wait for a keystroke in the window// Create a window for display.cv::namedWindow("Window2", cv::WINDOW_AUTOSIZE);cv::waitKey(0); // Wait for a keystroke in the window// 调整窗口大小为300, 300cv::resizeWindow("Window2", 300, 300);cv::waitKey(0); // Wait for a keystroke in the window// 删除Window1cv::destroyWindow("Window1");cv::waitKey(0); // Wait for a keystroke in the window// 删除所有窗口cv::destroyAllWindows();return 0;
}

在 VS2017 中的运行效果如下所示:

Python3

# -*- coding:UTF-8 -*-
import cv2def main():# Create a window for display.cv2.namedWindow("Window0", cv2.WINDOW_AUTOSIZE)cv2.waitKey(0); # Wait for a keystroke in the window# 调整窗口大小为100, 200cv2.resizeWindow("Window0", 100, 200);cv2.waitKey(0); # Wait for a keystroke in the window# 调整窗口大小为100, 100cv2.resizeWindow("Window0", (100, 100));cv2.waitKey(0); # Wait for a keystroke in the window# Create a window for display.cv2.namedWindow("Window1", cv2.WINDOW_AUTOSIZE);cv2.waitKey(0); # Wait for a keystroke in the window# 调整窗口大小为200, 200cv2.resizeWindow("Window1", 200, 200);cv2.waitKey(0); # Wait for a keystroke in the window# Create a window for display.cv2.namedWindow("Window2", cv2.WINDOW_AUTOSIZE);cv2.waitKey(0); # Wait for a keystroke in the window# 调整窗口大小为300, 300cv2.resizeWindow("Window2", 300, 300);cv2.waitKey(0); # Wait for a keystroke in the window# 删除Window1cv2.destroyWindow("Window1");cv2.waitKey(0); # Wait for a keystroke in the window# 删除所有窗口cv2.cv2.destroyAllWindows();#当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行
if __name__ == '__main__': main()

运行的效果是一样的,就不放过程了。

OpenCV4教程——4.1 窗口相关操作相关推荐

  1. R语言七天入门教程六:文件相关操作

    R语言七天入门教程六:文件相关操作 一.文件的读写 R 语言作为统计学编程语言,常常需要处理大量数据,而这些数据通常会从文件中进行读取,因此文件读写在R语言中是非常重要的操作.在R语言中,用到最多的文 ...

  2. asp.net中窗口相关操作总结(javascript)

    1.打开新窗口    这个简单:Response.Write(@"<script      language=' javascript'>window.open('url');& ...

  3. Python基础教程:list相关操作

    list相关操作小例子 获取list的下标和值 >>> mylist = ['a', 'b', 'c', 'd'] >>> for index, value in ...

  4. java communiframe_[Java教程]javascript iframe相关操作

    [Java教程]javascript iframe相关操作 0 2014-08-21 21:02:45 1. 获得iframe的window对象 iframeElement.contentWindow ...

  5. Adobe AIR迷你教程 -- 使用自定义窗口以及对窗口的移动,缩放,关闭操作

    这个教程主要针对对flex有一定基础,准备开始AIR开发的朋友.由于AIR是针对桌面应用程序,所以相对于flex的web应用,自然就多出了对应用程序窗口的控制.而 AIR的一大特点就是允许开发者使用自 ...

  6. 【Graph】NetworkX官方基础教程:图的生成与相关操作

    NetworkX官方基础教程:图的生成与相关操作 1. Graph生成和graph操作 2. 分析图 3. 画图 参考资料 本文作为对图结构和复杂网络的快速上手,内容包括基于NetworkX进行图的生 ...

  7. 建工计算机在线使用,建工计算器创建公式的相关操作教程

    很多新手小伙伴还不了解建工计算器创建公式的具体操作,所以下面小编就带来了建工计算器创建公式的详细教程哦. 建工计算器创建公式的相关操作教程 1. 以"2点之间的距离"为例,首先点击 ...

  8. php 空二位数组,php对二维数组进行相关操作(排序、转换、去空白等),php二维数组_PHP教程...

    function printr($arr) { echo ''; print_r($arr); echo ' '; } 第一组 :sort 和 rsort,按照PHP数组键值的顺序asc和逆序desc ...

  9. 【环境搭建】Docker镜像相关操作(切换镜像源、查询、获取、查看、创建、上传、保存、删除等)

    目录 1 镜像源查看及设置 2 镜像相关操作 2.1 获取镜像列表 2.2 镜像下载 2.3 查看本地的镜像 2.4 从镜像创建容器 2.5 将容器抽象为镜像--commit 2.6 将容器抽象为镜像 ...

最新文章

  1. 漫画:程序教你寻找股票买入卖出的最佳时机(动态规划)
  2. Angular26 ng-content和ng-container、投影的使用
  3. html 入门例子(二) 折行
  4. OpenFeign组件的使用(使用nacos作为服务注册中心)
  5. 关于页面之间传参时有空格,中文及点击页面后退按钮的问题
  6. “互联网+”解决城市交通拥堵难题
  7. 人员离职it检查_?「市安委会第十七检查组」值班人员擅离职守,变压器房随意出入...
  8. 11g表名大小写 oracle_oracle表名、字段名大小写问题。
  9. Expected value at 1:0 异常解决方法
  10. 一个防御SQL注入攻击需要注意的问题
  11. 泰迪杯数据挖掘挑战赛—机器学习(一)
  12. python-decouple简介
  13. kubernetes资源控制器【一】- ReplicaSet控制器
  14. python3多线程下载图片_Python3多线程爬取meizitu的图片
  15. 蓝牙耳机品牌哪个音质好佩戴舒适性?2023年蓝牙耳机盘点
  16. 北邮计算机学院视频,傅慧源(博导)
  17. 目标检测,FFmpeg中第一个基于深度学习模型的视频分析功能
  18. Stack Overflow简单介绍
  19. 10位、13位时间戳转换成日期格式JS
  20. wordpress用途_20个免费的多用途WordPress主题

热门文章

  1. 微信小程序php get_PHP后台实现微信小程序登录
  2. java集合类继承关系图_java集合继承关系图
  3. En-Tan-Mo(ETM)项目周报(6.28-7.4)
  4. 字符串——删除字符串中的大写字母
  5. pyspark 数据类型转换_PySpark之DataFrame的创建与转换
  6. java 对象构造函数_20.Java基础_对象的构造函数
  7. layui ztree 实现下拉树
  8. Python编程知识点总结
  9. BloomFilter
  10. 【Java】Java计算器