2009-06-09 23 views
1

私はPython OpenCVバインディングを使って画像の輪郭を探しています。 私はこのシーケンスを並べ替える可能性を探していることを知っています。PythonのOpenCvソートシーケンス

OpenCVから生成されたリンクリスト構造のため、通常のリストソートのためのPythonの方法はここには当てはまりません。

サイズ(領域/境界線)による輪郭線をPythonで並べ替える良い方法をご存知ですか? いくつかのコード例がありますか?

答えて

2

シーケンス全体を見て、簡単に並べ替えることができなければなりません。したがって、ソートするにはコピーする必要があります。

すべてが既にメモリに格納されていない場合、私はあなたがexternal sortingアルゴリズムでも見ることができ

contourList = list(<your linked list>) 
    def sizeKey(countour): 
     <get size from contour> 
    contourList.sort(key = sizeKey) 

ような何かをするだろう。

+0

リスト(私のリスト)のものが機能していないようです。私は、pythonがopenCVからラップされたseq構造体を処理することを知らないと仮定します。しかし、私はシーケンスをPythonリストに変換します – Janusz

+0

申し訳ありませんが、私のせいです:)それは働いています。あなたがcontours.hrangeを取る場合、あなたはリストのpythonバージョンを取得します。 – Janusz