1
所以我試圖在Python中對多維數組中的元素進行排序。數組是一團糟,這使得它很難,但不幸的是它是opencv函數返回的。在python中對x,y座標的多維維數組排序
這些都是Y,X座標(向後我知道....)
[array([[[ 13, 178]],[[ 50, 179]],[[ 49, 258]],[[ 12, 257]]]),
array([[[ 58, 93]],[[105, 94]],[[104, 171]],[[ 57, 170]]]),
array([[[ 13, 93]],[[ 50, 94]],[[ 49, 171]],[[ 12, 170]]]),
array([[[ 58, 9]],[[105, 10]],[[104, 86]],[[ 57, 85]]]),
array([[[13, 9]], [[50, 10]],[[49, 86]],[[12, 85]]]),
array([[[ 58, 178]],[[105, 179]],[[104, 257]],[[ 57, 257]]])]
現在我需要這個排序的方式是每個numpy的數組的第一個元素(可以稱之爲),和然後是DESCENDING中的SECOND元素。而且我需要把所有的關係都放在ASCENDING命令的FIRST元素上。
因此,這將結束是
[array([[[ 13, 178]],[[ 50, 179]],[[ 49, 258]],[[ 12, 257]]]),
array([[[ 58, 178]],[[105, 179]],[[104, 257]],[[ 57, 257]]]),
array([[[ 13, 93]],[[ 50, 94]],[[ 49, 171]],[[ 12, 170]]]),
array([[[ 58, 93]],[[105, 94]],[[104, 171]],[[ 57, 170]]]),
array([[[13, 9]], [[50, 10]],[[49, 86]],[[12, 85]]]),
array([[[ 58, 9]],[[105, 10]],[[104, 86]],[[ 57, 85]]])]
現在,我已經找到了如何使用
items[each][first][0][Y_POS(or X_POS)]
其中每個是nparray訪問訪問這些元素(也有他們的6) 和Y_POS指的是y位置,而X_POS指的是x位置。
其他兩個變量第一個和0將永遠不會改變。
我真的不知道從哪裏開始,以使其有效運行,所以任何幫助表示讚賞。請記住,座標是Y,X表示法。
在此先感謝大家。