【问题标题】:Reading many images into memory at once in python openCV在 python openCV 中一次将许多图像读入内存
【发布时间】:2017-02-04 04:25:25
【问题描述】:

我正在开发一个 openCV 界面,我正在显示一堆连续图像(实际上是一个视频,但我正在使用图像)。我希望能够通过按住一个键快速“滚动”图像。我目前的实现非常幼稚,它遍历所有图像并执行此操作:

frame = cv2.imread(img_file, 1)
cv2.imshow('frame', frame)

所以每次从磁盘读取时都会存在 IO 延迟,我认为这就是导致它非常缓慢的原因。 python API有什么好的方法可以将所有图像加载到内存中,或者至少使用imread之类的东西在内存中进行批处理,这样我就可以在翻阅时使用它们?或接受有关如何完成此任务的任何建议。谢谢。

【问题讨论】:

    标签: python c++ opencv


    【解决方案1】:

    将每一帧添加到列表中,通过列表索引访问

    frames=[]
    files = [...some list of files..]
    for img_file in files:
        frame = cv2.imread(img_file, 1)
        frames.append[frame]
    
    # and then later
    for frame in frames:
        cv2.imshow('frame', frame)
    
    
    # or by individual frame
         cv2.imshow('frame', frames[123])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-13
      • 2021-04-13
      • 1970-01-01
      • 2016-02-18
      • 1970-01-01
      • 2018-03-14
      • 1970-01-01
      相关资源
      最近更新 更多