Потребление памяти увеличивается с циклом камерыPython

Программы на Python
Ответить
Anonymous
 Потребление памяти увеличивается с циклом камеры

Сообщение Anonymous »

У меня есть скрипт Python для создания изображений и их загрузки на сервер. Это упрощенная версия, но воспроизводит тот же результат. Он захватывает и отображает изображение, но в каждом цикле он увеличивает потребление памяти, пока в конечном итоге не уничтожит скрипт. Я использую RPi 4B с 13-мегапиксельной USB-камерой.

Код: Выделить всё

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()
Я устал использовать del с переменными, устанавливал значение None, а также сборщик мусора безрезультатно.
[img]https://i. sstatic.net/KIWkbuGy.png[/img]


Подробнее здесь: https://stackoverflow.com/questions/793 ... amera-loop
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»