如何在python中释放ram

时间:2016-02-15 17:28:43

标签: python python-2.7 raspberry-pi

我有一个简单的代码

import cv2
import numpy as np

Image = cv2.imread('blue.jpg')

Threshold = np.zero

s(Image.shape, np.uint8) 
cv2.threshold(Image, 121, 255,   cv2.THRESH_BINARY, Threshold) 
cv2.imshow("WindowName", Threshold )

cv2.waitKey(0) 
cv2.destroyAllWindows()

我想删除矩阵

  

"图像"

来自记忆,即明确的记忆,以节省公羊的空间

我怎样才能实现这一目标 我正在使用覆盆子pi这个代码

2 个答案:

答案 0 :(得分:1)

del Image可能会做你想要的,但也有一些特殊情况。

  • 如果您的图片仍在其他地方被引用,它将无法执行任何操作。引用计数必须为0。
  • 如果在Image内有一个循环引用,它就不会直接做任何事情(它可能会在稍后的某个时候被释放,或者根本不会被释放)
  • 它只会在cPython中以这种方式工作。任何其他实现都可以以不同的方式自由处理垃圾收集。考虑del是一个建议。

答案 1 :(得分:0)

您可能想要使用

del Image[:]
del Image

实际上,你不需要做,甚至不需要关心它。

  

Python会自动释放所有未引用的对象   更

请参阅质量接受的答案how to release used memory immediately in python list?