OpenCV销毁窗口

《OpenCV计算机视觉开发实践:基于Python(人工智能技术丛书)》(朱文伟,李建英)【摘要 书评 试读】- 京东图书

既然有新建窗口,就会有销毁窗口。在OpenCV中,销毁窗口时窗口会自动关闭,可以通过函数destroyWindow和destroyAllWindows来实现,前者是销毁某一个指定名称的窗口,后者是销毁所有新建的窗口。函数destroyWindow声明如下:

destroyWindow(winname) -> None

参数winname是要销毁窗口的名称。

destroyAllWindow函数更加简单,声明如下:

destroyAllWindows() -> None

下面我们来新建3个窗口,每个窗口显示5秒,再分别销毁。

【例3.7】 销毁3个窗口

复制代码
import cv2 as cv 
import numpy as np #导入numpy模块 

szName = ["", "", ""]
srcImage=[1,3]
for i in range(0,2):
	szName[i] = ( "%d.jpg") % (i+1)
	srcImage[i] = cv.imread(szName[i]); #读取图片文件
	cv.imshow(szName[i], srcImage[i]);#在"窗口1"中输出图片
	cv.waitKey(5000);#等待5秒,程序自动退出;改为0,不自动退出
	cv.destroyWindow(szName[i]);
print("所有的窗口已经销毁了")
cv.waitKey(0);

在上述代码中,我们在for循环中读取图片文件,然后新建窗口,并在窗口中显示图片5秒钟后销毁窗口。如果不想在for里面调用destroyWindow函数,也可以在for循环外面调用destroyAllWindows函数,这样3个窗口都显示后再一起销毁。

运行工程,结果如图3-8所示。

图3‑8

窗口大小可以通过手动拖拉窗口边框来调整,也可以通过函数方式来调整窗口大小。调整窗口大小的函数是resizeWindow,声明如下:

resizeWindow(winname, width, height) -> None

其中,参数winname是要调整尺寸的窗口的标题;width是调整后的窗口宽度;height是调整后的窗口高度。

需要注意的是,新建窗口函数namedWindow的第二个参数必须为WINDOW_NORMAL,才可以手动拉动窗口边框来调整大小,虽然此时resizeWindow依旧可以调整窗口,但是图片不会随着窗口大小而改变。

【例3.8】 调整窗口大小

复制代码
import cv2 as cv 
srcImage=[1]
width = 240
height = 120
szName = ( "%d.jpg") % 1
srcImage[0] = cv.imread(szName);
cv.namedWindow(szName, cv.WINDOW_NORMAL); #新建窗口
cv.imshow(szName, srcImage[0]);#在窗口中显示图片
cv.resizeWindow(szName, width, height); #调整窗口大小
cv.waitKey(0); 

在上述代码中,首先读入一幅图片,然后新建一个窗口显示图片,接着调用函数resizeWindow调整窗口大小,由于namedWindow的第二个参数是WINDOW_NORMAL,因此图片大小会随着窗口大小的变换而变化。

运行工程,结果如图3-9所示。

图3‑9

相关推荐
六行神算API-天璇1 分钟前
技术实践:用大模型平台重构医疗数据分析Pipeline
人工智能·重构·数据挖掘·数据分析
跨境卫士情报站2 分钟前
亚马逊格局巨变!AI 助手重构购物逻辑,卖家如何顺势突围?
大数据·人工智能·重构·产品运营·跨境电商·防关联
机器之心5 分钟前
国产芯片也能跑AI视频实时生成了,商汤Seko 2.0揭秘幕后黑科技
人工智能·openai
hoiii1877 分钟前
使用RPCA算法对图像进行稀疏低秩分解
人工智能·算法
Small___ming7 分钟前
【人工智能数学基础】标准贝叶斯公式的一般化推导:从单一条件到任意多条件
人工智能·机器学习·概率论
世优科技虚拟人14 分钟前
智慧政务从试点到普及:AI数字人一体机在政务大厅的深度应用分析
人工智能·大模型·智慧城市·数字人·政务·智慧政务·智能交互
一点一木15 分钟前
🎙️ 2025 年主流 AI 语音输入工具测评:解锁高效生产力的关键
人工智能
JoannaJuanCV17 分钟前
自动驾驶—CARLA仿真(10)tutorial_gbuffer demo
人工智能·机器学习·自动驾驶·carla
测试人社区-小明20 分钟前
未来测试岗位的AI需求分析
人工智能·opencv·测试工具·算法·金融·机器人·需求分析
大千AI助手21 分钟前
GPT-Neo:开源大型自回归语言模型的实现与影响
人工智能·gpt·机器学习·开源·大模型·大千ai助手·gpt-neo