2016-06-01 10 views
2

私は次のような問題への解決策を見つけるのに苦労:最大の長方形

私は一意のラベルに接続されたすべての白画素をマークするためのOpenCVを使用。

私はこれらの要素のグループを得ました。 これらのオブジェクトは90%の長方形ですが、ほとんどの場合、余分な線やものが含まれています。 - 高速なパフォーマンス フィルタリングでも-maybe、少なくともXX%ピクセルを含むlarget長方形

(同じラベル内)の画像のうち-get最大の長方形 :THR以下のんのアルゴリズムを探し

イム(ナンバープレートの場所FOこの場合)例画像:: アルゴリズムの私の所望の出力は、プレートの長方形で(と呪いのと同じラベルで

たぶん誰かが私をたくさん 編集 感謝を助けることができます画像内の他のすべての矩形を後でフィルタリングします)

重要な長方形が回転している可能性があります。

Marked some example rectangles red

enter image description here

+0

はたぶん、あなたは問題を説明するために画像を表示することができ... –

+0

良いアイデアのおかげで、CV :: minAreaRectは、各輪郭のために、あなたが(多分キャニーエッジ検出器の後)のcv :: findContoursを使用してみました – user4834736

+0

を行なったし。 –

答えて

1

私の提案

  • ブロブ解析や数理形態学のいずれかによって、小さな穴を埋めてください。

  • 白い領域の距離マップを計算します。

  • ハーフプレートの高さに等しいしきい値で距離マップを二値化します。

長方形は、プレートの幅からプレートの高さを引いた長さの線分として表示されます。回転した長方形のバウンディングボックスを合わせることでそれらを見つけることができます。アスペクト比が大きくなければなりません。

+0

これは今晩のおかげです。 – user4834736

+0

@ user4834736:残念ながら、これは防弾ではありません。偽陰性と偽陽性の両方が得られます。 –

+1

まず前処理を改善することをお勧めします。あなたはあまりにも太い勾配の線を持つことによって人のものをマージします。 検索エリアも制限してください。ナンバープレートはあなたの画像の狭い道を通過するだけです。あなたは道路がどこにあるのか、プレートが動くのをどこで期待するのかを知っています。これにより、妨害情報の少なくとも80%を取り除くことができます。 – Piglet