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