我有来自一个源的映像流,不幸的是,这是RGB值的元组列表。我想对图像执行实时处理,但是代码需要一个Numpy数组的形状(X,Y,3),其中X和Y是图像的高度和宽度。
X = [[(R, G, B)...]]
img_arr = np.array([*X])上面的工作很好,但我的图像花费了近四分之一秒,这显然太慢了。有趣的是,在完成处理之后,我还需要返回另一个方向,而且代码(似乎是有效的)并不是那么慢:
imgout = map(tuple, flipped_image)其他一些相关问题:
发布于 2022-01-28 01:23:58
要回答问题的标题,numpy会自动列出numpy数组的列表和元组,因此您可以只使用np.array(X),它将尽可能快地得到:
img_arr = np.array(X)一个简单的列表理解将把它转换回列表-列表-元组表单:
imgout = [[tuple(Z) for Z in Y] for Y in img_arr]生成示例10x10 X数组的代码:
X = [[tuple(Z) for Z in Y] for Y in np.random.randint(0,255,(10,10,3))]https://stackoverflow.com/questions/70887803
复制相似问题