最近使用python在做一個目標識別的項目,需要死循環載入圖片,識別后再輸出結果,如下:
while 1:
frame = cv2.imread("pic.jpg")
...
但由於使用cv2.imread重復的載入圖片,會看到內存在不斷飆升,直到內存泄露為止。
主要原因是:無法跳出while 1死循環,導致每次重復創建的frame變量無法銷毀,程序運行一段時間后,就會內存不足。
解決方法很簡單:
frame = ""
while 1:
frame = cv2.imread("pic.jpg")
...
只需要在while循環外創建一個frame全局變量,讓每次cv2.imread讀入的圖片都存在全局變量中即可。
