python使用cv2.imwrite如何避免內存泄露


最近使用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讀入的圖片都存在全局變量中即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM