0
我使用OpenCV中生成的轮廓,看起来像这样:如何连接2 np.ndarray的?
array([[[227, 762]],
[[228, 762]],
[[229, 763]],
[[228, 764]],
[[229, 765]],
[[228, 766]],
[[227, 766]],
[[228, 766]],
[[229, 765]],
[[228, 764]],
[[229, 763]],
[[229, 762]]], dtype=int32)
这个轮廓已键入np.ndarray
当我检查cnt.shape,我获得(12,1,2),这表明这比简单的12×2矩阵更复杂。
这意味着,当我尝试:
In [104]: new = np.array([1,2])
In [105]: type(new)
Out[105]: numpy.ndarray
In [106]: X = np.vstack((ex,new))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-106-5ceb3fcd9619> in <module>()
----> 1 X = np.vstack((ex,new))
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/shape_base.pyc in vstack(tup)
226
227 """
--> 228 return _nx.concatenate([atleast_2d(_m) for _m in tup], 0)
229
230 def hstack(tup):
ValueError: all the input arrays must have same number of dimensions
你可以看到,新的和前都是同一类型的,我是希望他们都具有2列,因此我可以垂直堆叠起来,但唉,不......我该怎么做?
您可以轻松将示例中的第一个数组转换为12x2矩阵:arr.reshape(12,2)'是否对您有帮助? – mgc