python-opencv内存泄漏

功成名就也有时 2025-03-11 10:39:04

请问在while True循环里面调用cap.read()读取视频流,为什么内存会一直增大啊?主动释放了也没用

def test():
    last_time = datetime.datetime.now()
    count=0
    cap = cv2.VideoCapture('rtsp://admin:XZXatc123.@192.168.111.252/live')
    while True:
        ret,frame=cap.read()
        if not ret:
            break
        count += 1
        if count % 3 != 0:
            continue
        frame_size=cv2.resize(frame,(1020,600))
        results = model(frame_size)
        results.pandas().xyxy[0]
        cv2.imshow("FRAME",frame_size)
        frame=None
        frame_size=None
        results=None
        #torch.cuda.empty_cache()
        current_time = datetime.datetime.now()
        time_difference=current_time-last_time
        if(time_difference.seconds>=60*20):
            cap.release()
            del cap
            #cv2.destroyAllWindows()
            gc.collect()
            cap = cv2.VideoCapture('rtsp://admin:XZXatc123.@192.168.111.252/live')
            last_time = datetime.datetime.now()
            print("restart")
            continue
        if cv2.waitKey(1)&0xFF==27:
            break

 

...全文
41 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

解决了吗?

4,269

社区成员

发帖
与我相关
我的任务
社区描述
OpenCV相关技术交流专区
计算机视觉人工智能opencv 技术论坛(原bbs) 广东省·深圳市
社区管理员
  • OpenCV
  • 幻灰龙
  • OpenCV中国团队
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

OpenCV中国团队官方博客:https://blog.csdn.net/opencvchina

试试用AI创作助手写篇文章吧