刀么克瑟拉莫 2022-12-09 11:16 采纳率: 0%
浏览 12

python读大量图片到内存


import os, cv2

pp='data/train'
name_list = os.listdir(pp)
name_list.sort()
nl=[]
for i in name_list:
  print i
  for j in os.listdir(pp+'/'+i):
    im = cv2.imread(pp+'/'+i+'/'+j)
    nl.append(im)
cv2.imshow('w', im)
cv2.waitKey()

我用上面的代码读10G图片到内存,程序为什么会占用60G内存呢?

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2022-12-09 11:24
    关注

    这个问题可能有几个原因。首先,如果图像总是大小为 10GB,那么读入内存后它们就会占用 10GB 的内存。其次,在读入这些图像后,程序可能会将它们转换成某种其他的图像格式,比如说 float 或者 RGB 等,这样会导致内存占用更多。此外,程序可能还会创建某些数组和缓存来保存这些图像,这也会导致内存占用增加。

    如果想要减少程序占用的内存,可以试着做一些如下的优化:

    • 每读入一张图片,就将其处理完后立即释放内存。
    • 不要将图像转换成非必要的格式。
    • 尽量减少创建中间变量和缓存的数量。
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 12月9日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题