Der Speicherverbrauch steigt mit der KameraschleifePython

Python-Programme
Anonymous
 Der Speicherverbrauch steigt mit der Kameraschleife

Post by Anonymous »

Ich habe ein Python-Skript zum Aufnehmen von Bildern und zum Hochladen dieser auf meinen Server. Dies ist eine abgeschwächte Version davon, reproduziert aber das gleiche Ergebnis. Es erfasst zwar ein Bild, erhöht aber mit jeder Schleife den Speicherverbrauch, bis das Skript schließlich abgebrochen wird. Ich verwende ein RPi 4B mit einer 13-Megapixel-USB-Kamera.
import cv2, psutil, os, gc, time

def takepic():

frame = None
cw, ch = 4000, 3000
cap = cv2.VideoCapture(0)
print('click!')
cap.set(cv2.CAP_PROP_FRAME_WIDTH, cw)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, ch)
time.sleep(0.6)
suc, frame = cap.read()
cap.release()

process = psutil.Process(os.getpid())
print(f'Memory Used {round(process.memory_percent(), 2)}%')
resizeit(frame)

def resizeit(img):
small = cv2.resize(img, (0,0), fx=0.5, fy=0.5)
del small
del img
print(gc.get_count())
gc.collect()
print(gc.get_count())
time.sleep(1)
takepic()

takepic()

Ich habe es satt, del mit den Variablen zu verwenden, auf „None“ zu setzen und auch den Garbage Collector ohne Erfolg zu verwenden.
[img]https://i. sstatic.net/KIWkbuGy.png[/img]

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post