Используя следующий код Python, увеличивается ли использование оперативной памяти с каждой итерацией цикла? < /p>
import cv2, numpy as np
flag = False
while True:
img = np.zeros((2160,3840,3),np.uint8)
if flag:
img = cv2.circle(img, (1920,1080),128,(255,255,255),-1)
flag = not flag
cv2.imshow('Image',img)
k = cv2.waitKey()
cv2.destroyAllWindows()
if k == 27:
break
< /code>
Это для меня, и я считаю, что это связано с CV2.imshow. Я не смог выяснить, почему это происходит и как это исправить. /p>
Обновление: < /p>
с каждой итерацией цикла (то есть каждый раз, когда обновляется изображение) использование памяти Python увеличивается на сумму относительно размера Изображение. < /p>
Добавление следующей строки: < /p>
small = cv2.resize(img,(640,360))
< /code>
и изменение строки imshow на: < /p>
cv2.imshow('Image',small)
< /code>
увеличивает оперативную память на гораздо меньшую сумму. ОЗУ оставайтесь более или менее неизменными на протяжении всего цикла. Протестировал его в Python 3.9.1 с OpenCV 4.10.0 и Numpy 2.02 и испытайте то же поведение. Так что было бы интересно увидеть кого -то еще на Mac, попробуйте это.
Подробнее здесь: https://stackoverflow.com/questions/794 ... emory-leak
Python CV2.Imshow утечка памяти? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение