OpenCV destroyWindow()和destroyAllWindows()的用法(附带实例)
既然有新建窗口,当然就有销毁窗口。在 OpenCV 中,销毁窗口时窗口会自动关闭,这可以通过函数 destroyWindow() 和 destroyAllWindows() 来实现,前者是销毁某一个指定名称的窗口,后者是销毁所有新建的窗口。
函数 destroyWindow() 声明如下:
函数 destroyAllWindow() 更加简单,声明如下:
下面我们来新建 3 个窗口,每个窗口显示 5 秒,再分别销毁。
【实例】销毁 3 个窗口。
运行工程,结果如下图所示:
函数 destroyWindow() 声明如下:
destroyWindow(winname) -> None参数 winname 是要销毁窗口的名称。
函数 destroyAllWindow() 更加简单,声明如下:
destroyAllWindows() -> None
下面我们来新建 3 个窗口,每个窗口显示 5 秒,再分别销毁。
【实例】销毁 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 个窗口都显示后再一起销毁。
运行工程,结果如下图所示:
