arrays - 生成嵌套的 Numpy 数组

标签 arrays python-2.7 opencv numpy

我正在尝试编写一个函数,它将采用以下形式的 numpy 数组作为输入:

a = [[0,0], [10,0], [10,10], [5,4]]

并返回一个 numpy 数组 b 使得:

b = [[[0,0]], [[10,0]], [[10,10]], [[5,4]]]

出于某种原因,我发现这出奇地困难。

我这样做的原因是我有一些使用 skimage 生成的轮廓,我试图使用 opencv2 来计算特征(面积,周长等......)但是 opencv 函数只会在b 作为输入的形式,而不是 a。

最佳答案

a是形状(4,2),b是(4,1,2)

a.reshape(4,1,2)
np.expanddims(a, 1)
a[:,None]

所有的工作


In [503]: B
Out[503]: 
array([[[ 0,  0]],

       [[10,  0]],

       [[10, 10]],

       [[ 5,  4]]])
In [504]: B.tolist()
Out[504]: [[[0, 0]], [[10, 0]], [[10, 10]], [[5, 4]]]

关于arrays - 生成嵌套的 Numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43124668/

相关文章:

android - 提供的数据元素编号 (0) 应该是 Mat channel 数 (1) Android OpenCV 的倍数

java - 在java中调整二维数组的大小

java - 是什么导致了 java.lang.ArrayIndexOutOfBoundsException 以及如何防止它?

arrays - 查找素数范围内出现次数最多的数字

python - 有没有办法在 Python 2.7 或 numpy 中将图像数据保存为列表/数组?

python-2.7 - 除了字符集之外的 Python 正则表达式匹配

opencv - 具有模糊图像的自适应阈值

python - 如何使用 opencv (python) 从 url 读取 gif

c - 对作为参数传递的数组进行打乱的函数

python线程异常导致进程停止