qq_31949039 2019-09-09 16:20 采纳率: 50%
浏览 574
已采纳

在服务器(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()
  • 写回答

1条回答 默认 最新

  • threenewbee 2019-09-09 18:41
    关注

    python在大内存的机器上,会使用更多内存作为缓存,这是正常的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 github符合条件20分钟秒到账,github空投 提供github账号可兑换💰感兴趣的可以找我交流一下
  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?