我在一个 numpy 向量中有数据,如下所示:
[[[1119 15]]
[[1125 27]]
[[1129 43]]
[[1131 62]]
[[1131 87]]
[[1141 234]]
...]
这些应该是我可以用来表示曲线的一组点,但每个点 [int, int] 似乎都封装在另一个向量中。 I.E.:我有 [[1 1]] 而不是 [1 1]。
这个数据是在我给它一个“轮廓”之后由 opencv 函数 cv2.approxPolyDP
提供给我的,我需要使用它。我认为这个函数基本上已经给了我它认为是一组曲线的东西,但这里每条曲线只包含一个点 [int int] 这实际上没有意义。有一个点的曲线不是曲线,它是一个点。
在这种情况下,有什么方法可以将 [[int int]] 转换为 [int int] 吗?
最佳答案
看看这个数组的形状。它可能是 (n, 1, 2)
。
将其 reshape
为(n,2)
。 x.reshape(-1,2)
是一个方便的快捷方式,可以节省您确定 n
的工作。 squeeze
也摆脱了奇异维度。
关于python - 如何在 python/numpy 中将包含条目 [[[int int]] ...] 的向量转换为包含条目 [[int int] ...] 的向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24581931/