gpt4 book ai didi

Python:从 3D 数组中提取 2D 数组

转载 作者:太空宇宙 更新时间:2023-11-03 22:26:03 26 4
gpt4 key购买 nike

我有一个 3D numpy 数组(1L、420L、580L),第二维和第三维是我想使用 openCV 显示的灰度图像。如何从 3 维数组中提取 2 维数组?

我创建了一个简短的例程来执行此操作,但我敢打赌有更好的方法。

# helper function to remove 1st dimension
def pull_image(in_array):

rows = in_array.shape[1] # vertical
cols = in_array.shape[2] # horizontal

out_array = np.zeros((rows, cols), np.uint8) # create new array to hold image data

for r in xrange(rows):
for c in xrange(cols):
out_array[r, c] = in_array[:, r, c]
return out_array

最佳答案

如果您总是只有第一个维度 == 1,那么您可以简单地 reshape 数组...

if in_array.shape[0] == 1:
return in_array.reshape(in_array.shape[1:])

否则,您可以使用 numpy 的高级列表切片...

else:
return in_array[0,:,:]

关于Python:从 3D 数组中提取 2D 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38918514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com