在python openCV中一次将多个图像读入内存

在python openCV中一次将多个图像读入内存,python,c++,opencv,Python,C++,Opencv,我正在开发一个openCV界面,在这个界面上我显示了一组连续的图像(实际上是一个视频,但我使用的是图像)。我希望能够通过按住一个键来快速地“滚动”图像。我当前的实现非常简单,它在所有图像中循环并执行以下操作: frame = cv2.imread(img_file, 1) cv2.imshow('frame', frame) 所以每次从磁盘读取时都会有IO延迟,我认为这是导致读取速度非常慢的原因。pythonapi有没有什么好方法可以将所有图像加载到内存中,或者至少在内存中使用imread之类

我正在开发一个openCV界面,在这个界面上我显示了一组连续的图像(实际上是一个视频,但我使用的是图像)。我希望能够通过按住一个键来快速地“滚动”图像。我当前的实现非常简单,它在所有图像中循环并执行以下操作:

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

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

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

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])

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

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])