对OpenCV的destroyallWindows一些认知
- 前言
- 一、先看代码
- 二、网上的资料
- 1.Stack Overflow的回答
- 2.官方回答
- 总结
前言
因为之前在学习OpenCV,当然了网络上有许多的资料,基本上都是在学习前人的造好的轮子。但是我这个人比较喜欢刨根问底,一直在写代码的过程中有的时候忘记写destroyallWindos这个函数,代码也可以正常运行,但是我看一些参考代码里面都最后带有destoryallWindos这个语句,有有些想法,于是找了一些资料。所以特地写一片文章,来记录一下,希望以后忘记了可以看看
一、先看代码
import cv2
# 这里0.jpg是同目录下的一张图片
img = cv2.imread("0.jpg")
cv2.imshow("CHJ", img)
cv2.waitKey(0)
这样的代码是可以运行的,并且会一直等待键盘输入,但是就是没有destroyallWindows
二、网上的资料
1.Stack Overflow的回答
stackoverflow上的回答
大家可以看一看
2.官方回答
这个是官方链接:官方文档
英文:
You can call destroyWindow() or destroyAllWindows() to close the window and de-allocate any associated memory usage. For a simple program, you do not really have to call these functions because all the resources and windows of the application are closed automatically by the operating system upon exit.
百度翻译一下:
您可以调用destroyWindow()或destroyAllWindows()来关闭窗口并取消分配任何相关的内存使用。对于一个简单的程序,实际上不必调用这些函数,因为退出时操作系统会自动关闭应用程序的所有资源和窗口
总结
如果之前没有释放掉内存的操作的话destroyallWIndows会释放掉被那个变量占用的内存