【问题标题】:Generating nested Numpy Arrays生成嵌套的 Numpy 数组
【发布时间】:2017-03-30 17:30:59
【问题描述】:

我正在尝试编写一个函数,该函数将以下形式的 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。

【问题讨论】:

    标签: arrays python-2.7 opencv numpy


    【解决方案1】:

    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]]]
    

    【讨论】:

      猜你喜欢
      • 2016-07-04
      • 2021-02-13
      • 2019-11-21
      • 1970-01-01
      • 1970-01-01
      • 2013-05-05
      • 1970-01-01
      • 2014-01-24
      • 1970-01-01
      相关资源
      最近更新 更多