Asm*_*oni 2 python numpy image-processing python-imaging-library keras
我有一个文件夹,里面video1有一堆按顺序排列的图像frame_00.png, frame_01.png, ...
我想要的是格式为 4D numpy 数组(number of frames, w, h, 3)
这就是我所做的,但我认为它很慢,有没有更快或更有效的方法来实现同样的事情?
folder = "video1/"
import os
images = sorted(os.listdir(folder)) #["frame_00", "frame_01", "frame_02", ...]
from PIL import Image
import numpy as np
video_array = []
for image in images:
im = Image.open(folder + image)
video_array.append(np.asarray(im)) #.transpose(1, 0, 2))
video_array = np.array(video_array)
print(video_array.shape)
#(75, 50, 100, 3)
Run Code Online (Sandbox Code Playgroud)
有一个较旧的 SO 线程详细介绍了这个主题(甚至可能有点太多)。我不会投票结束这个问题,我将快速概述该线程的主要要点:
imread来自该cv2软件包。所以基本上,在纯单线程 Python 中工作时,你将无法获得更快的速度。cv2.imread您可能会因切换到(代替)而获得提升PIL.Image.open。
| 归档时间: |
|
| 查看次数: |
7043 次 |
| 最近记录: |