3
OpenCVのメソッドを使用して得られた座標を含むnumpy配列を持っています。輪郭を描くためにそれらを並べ替える必要があります。第1列の値が同じ場合にのみ、第2列に従ってnumpy配列をソートします。
例未分類numpyのアレイ(不座標):期待
[[ 0, 2],
[ 0, 0],
[-1, 8],
[-6, 7],
[-1, 1]]
はnumpyの配列をソート:
[[-6, 7],
[-1, 1],
[-1, 8],
[ 0, 0],
[ 0, 2]]
Iが配列の最初の列に基づいてソートしたいと最初の列の値が等しい場合は、2番目の列に従ってソートする必要があります。処理がクラウド上で行われるため、時間の複雑さを最小限に抑えて処理する方法はありますか?
すごいです!魅力的に働いた!ありがとうございました:Dまた、 'T 'が何であるか、または何かを教えてください。 PS。ソートされたリストの輪郭を描画する方法を提案できますか?通常のopencvメソッド 'drawContours()'の出力はすべて異常です。 – hulkinBrain
@hulkinBrainこれは転置です。 'np.lexsort'は他のカラムに基づいて各カラムをソートしようとします。行をソートしようとしているので、その転置が必要です。 lexsortでは、一次ソート順が最後の要素になり、私たちの場合は各行の最初の要素になるので、フリッピングが必要です。 – Divakar
@hulkinBrain私は、輪郭を各輪郭の '(Nx2)'形状の配列として取得し、開始時にゼロ配列として初期化されるイメージ配列に反復的に割り当てることを提案します。 – Divakar