python - 如何在 python/numpy 中将包含条目 [[[int int]] ...] 的向量转换为包含条目 [[int int] ...] 的向量?

标签 python opencv numpy

我在一个 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/

相关文章:

python - 高效地在多个维度上找到邻居并根据接近度计算值的总和

python - fmin_l_bfgs_b 返回 NaN 作为函数值,但我不明白

python - 计算python中每个点之间距离的最快方法

python - SQLAlchemy db.create_all() 错误,未创建数据库

python - 如何删除文件和文件夹但保留目录结构并留下一个空文件而不是文件本身?

python - 带有 WebRTC 的 OpenCV python 建模服务器

opencv - 处理抢劫案夜间闭路电视录像?

python - Keras:简单数据的简单神经网络不起作用

python - 如何使用Python和Selenium访问网站https ://www. aliexpress.com/后点击并关闭横幅

c++ - 在 Windows 上安装 GLo​​g