【发布时间】:2019-10-26 11:16:44
【问题描述】:
从 opencv 中的 houghcircles,我得到一个返回的数组。这是一个只有一列的二维数组,除了我返回的是一个ndarray。我是新手,正在学习 openCV。返回的数组显示奇怪,我想按第一列对其进行排序,并将其转换为常规的二维数组。
Array - 不是所有的数组,因为它有 57 行,但这应该足够了。任何地方都没有逗号。
Circles =
[[ 876 566 6]
[ 898 574 6]
[ 846 710 6]
[ 850 762 7]
[ 822 574 6]
[ 880 620 6]
[ 894 650 6]
[ 836 604 6]]
我尝试过对数组使用 sorted 方法和 ndarray.sort 方法。
sorted(circles, key=lambda circles_entry: circles_entry[1])
circles[0].sort(axis=0)
我已经使用这两种方法来尝试排序。第一个返回一个包含数组数组的数组。 3D阵列?第二个从所有位置对其进行排序。
第一类示例-
[array([[ 876, 566, 6],
[ 898, 574, 6],
[ 846, 710, 6],
[ 850, 762, 7],])]
二次排序示例-
[[ 110 542 2]
[ 332 550 5]
[ 386 558 5]
[ 734 566 5]
[ 744 566 5]
[ 754 574 5]
[ 758 574 5]
[ 762 582 5]
[ 768 582 5]
[ 772 588 5]
[ 778 590 5]]
【问题讨论】:
-
我做的大多数排序也倾向于只对每个数组本身的项目进行排序
标签: python numpy opencv multidimensional-array numpy-ndarray