5

在服务器(windows server2012 R2 Standard)上读取视频cap.read()占用内存特别大,怎么解决?

用python36,opencv-python,读取视频流或者读取本地视频文件。在服务器(windows server2012 R2 Standard)上运行的时候,read()需要400MB左右内存,但是在其他设备上(笔记本电脑、虚拟机,同样的操作系统)只占用40~50MB内存。各路大神,请问怎么解决,下边是代码:

cap = cv.VideoCapture(msg)
    cap.set(3,960)
    cap.set(4,540)
    process = psutil.Process(os.getpid())
    while cap.isOpened():
        (ret, frame) = cap.read(1)
        print('countsize===', os.getpid(), 'Used Memory:', process.memory_info().rss / 1024 / 1024, 'MB', )
        if ret:
            cv.imshow(threading.current_thread().name, frame)
            if cv.waitKey(1) & 0xff == ord('q'):
                break

    cap.release()
    cv.destroyAllWindows()
查看全部
qq_31949039
qq_31949039
2019/09/09 16:20
  • python
  • 机器学习
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

1个回复