首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何快速将二维元组列表转换为三维Numpy数组?

如何快速将二维元组列表转换为三维Numpy数组?
EN

Stack Overflow用户
提问于 2022-01-28 01:18:25
回答 1查看 226关注 0票数 0

我有来自一个源的映像流,不幸的是,这是RGB值的元组列表。我想对图像执行实时处理,但是代码需要一个Numpy数组的形状(X,Y,3),其中X和Y是图像的高度和宽度。

代码语言:javascript
复制
X = [[(R, G, B)...]]
img_arr = np.array([*X])

上面的工作很好,但我的图像花费了近四分之一秒,这显然太慢了。有趣的是,在完成处理之后,我还需要返回另一个方向,而且代码(似乎是有效的)并不是那么慢:

代码语言:javascript
复制
imgout = map(tuple, flipped_image)

其他一些相关问题:

why is converting a long 2D list to numpy array so slow?

Convert List of List of Tuples Into 2d Numpy Array

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-28 01:23:58

要回答问题的标题,numpy会自动列出numpy数组的列表和元组,因此您可以只使用np.array(X),它将尽可能快地得到:

代码语言:javascript
复制
img_arr = np.array(X)

一个简单的列表理解将把它转换回列表-列表-元组表单:

代码语言:javascript
复制
imgout = [[tuple(Z) for Z in Y] for Y in img_arr]

生成示例10x10 X数组的代码:

代码语言:javascript
复制
X = [[tuple(Z) for Z in Y] for Y in np.random.randint(0,255,(10,10,3))]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70887803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档