OpenCV中的destroyallWindows的作用

Stella981
• 阅读 330

对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会释放掉被那个变量占用的内存


点赞
收藏
评论区
推荐文章
Jacquelyn38 Jacquelyn38
1年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。 1、使用解构获取json数据let jsonData   id: 1, status: "OK", data: ['a', 'b'] ; let  id, status, data: number   jsonData; console.log(id, status, number )
刚刚好 刚刚好
1星期前
css问题
1、 在IOS中图片不显示(给图片加了圆角或者img没有父级) <div<img src""/</div div {width: 20px; height: 20px; borderradius: 20px; overflow: h
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录 问题 用navicat导入数据时,报错: 原因这是因为当前的MySQL不支持datetime为0的情况。 解决修改sql\mode: sql\mode:SQL Mode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。 全局s
Karen110 Karen110
1年前
​一篇文章总结一下Python库中关于时间的常见操作
前言本次来总结一下关于Python时间的相关操作,有一个有趣的问题。如果你的业务用不到时间相关的操作,你的业务基本上会一直用不到。但是如果你的业务一旦用到了时间操作,你就会发现,淦,到处都是时间操作。。。所以思来想去,还是总结一下吧,本次会采用类型注解方式。 time包import time 时间戳 从1970年1月1日00:00:00标准时区诞生到现在
Stella981 Stella981
11个月前
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解 ============================== 2016年09月02日 00:00:36 [\-牧野-](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593
Easter79 Easter79
11个月前
Twitter的分布式自增ID算法snowflake (Java版)
概述 == 分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。 有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。 而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
11个月前
ubuntu16.04下基于Python的OpenCV的安装
这几天一直在学习基于Python的OpenCV ,开发环境是在Ubuntu16.04下,学习的心得就是基于Python的OpenCV开发基本上就属于函数式编程了,OpenCV提供了大多数的功能函数,以及大多数的算法封装,并不需要从头开发,不需要重复的造轮子,需要的仅仅是将各个零部件进行组装。所以学习起来相对容易一些。但是这是建立在对于Python有一定的基础
Wesley13 Wesley13
11个月前
PHP中的NOW()函数
是否有一个PHP函数以与MySQL函数`NOW()`相同的格式返回日期和时间? 我知道如何使用`date()`做到这一点,但是我问是否有一个仅用于此的函数。 例如,返回: 2009-12-01 00:00:00 * * * ### #1楼 使用此功能: function getDatetimeNow() {
常用知识整理
# Javascript ## 判断对象是否为空 ```js Object.keys(myObject).length === 0 ``` ## 经常使用的三元运算 > 我们经常遇到处理表格列状态字段如 `status` 的时候可以用到 ``` vue
helloworld_34035044 helloworld_34035044
2个月前
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。 uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid() 或 uuid(sep)参数说明:sep 布尔值,生成的uuid中是否包含分隔符'',缺省为