【发布时间】:2017-05-08 17:35:28
【问题描述】:
我无法按照我想要的方式格式化我的 numpy 数组。我检查了几篇像 How to remove specific elements in a numpy array 这样的帖子,大多数看起来很接近,但没有一个有我想要的。如果这个问题是一个重复,那么我将朝着正确的方向前进。
im2, contours, hierarchy = cv2.findContours(th2,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
轮廓给了我这个:
print(contours)
我明白了:
[array([[[618, 737]]], dtype=int32), array([[[615, 737]]], dtype=int32), array([[[656, 731]],
[[655, 732]],
[[651, 732]],
[[649, 734]],
[[648, 734]],
[[647, 735]],
[[646, 734]],
[[645, 735]],
[[644, 735]],
[[643, 736]],
[[641, 736]],
[[640, 737]],
[[686, 737]],
[[686, 734]],
但我想得到一个可以给我这种格式的元组的输出:
(x, y)
或者如果有另一种方法可以访问数组中的整数,我已经尝试过但没有得到我想要的东西
contours = tuple(map(tuple, contours))
contours = totuple(contours)
请帮助我是新手
【问题讨论】:
-
据我所知,
contours是 list,而不是数组。 -
那不是数组。那是 3 个数组,我不知道您想如何将其转换为单个 x, y 元组。
-
好吧 @user2357112 如果它是 3 个数组,那么为什么我不能将 3 个数组的内容提取到一个元组列表中,这正是我想要的
标签: python arrays opencv numpy