2016-10-12 10 views
3

OpenCVの新機能で、画像の円と十字の位置を特定するのに誰かが私に最適なアルゴリズムを指示できるかどうか疑問に思っていました。次のようになります。 。画像内の円と十字の位置を検出する

[enter image description here

は時々接続線があります。 。

[enter image description here enter image description here

彼らも手はこの1つのように描かれている可能性があります。 。

enter image description here

これまでのところ私は、テンプレートマッチングの例を見てきましたが、それはおそらく正しいアプローチではありません、それは画像にテンプレートのサイズを拡張できません。

したがって、以下の所見があります。 。 。

  • 十字と円が重なることがあります。
  • ダイアグラムの色が の場合、色は十字で同じで、円で同じです。
  • 場合によっては行で結合されることもあります。
  • プロット内に他の形状シンボルがある可能性があります
  • これらのシンボルはサイズと形状は類似していますが、コンピュータで生成されていない可能性があります。

私の冒険はどこから始めるべきですか?

答えて

1

簡単な作業ではありません。

カラーケースの場合は、まずカラープレーンを分割します。マーカを分けることができるチャンスがあります。

しかし、&の場合、エスケープはありません。深く進む必要があります。

可能な限り正確に、ハフライン検出器を使用してグリッド線を最初に検出しようとします。その後、これらの行を消去します。

次に、短い斜めの線分である十字線を探してみてください(ほとんどの場合、前の操作で壊れています)。

サークルは、小さな範囲の半径を使用して、ハフサークルディテクタによって検出される可能性があります。

また、リグまたはエッジ検出器を使用して、短いセグメントと短い湾曲アークを取得することもできます。結合線を避けるために、いくつかのフィルタリング基準を追加する必要があります。

0

このように、簡単な作業ではありません。 可能な方法の1つは機械学習です。私はカスケードクラシファイア(別名ビオラジョーンズ法)がオブジェクトの検出にかなりいいと思います。 openCVを使って実装するのはかなり簡単ですが、どのように動作するのか、大量のサンプルを理解する必要があります。

0

あなたはアイデアのカップルを使用しようとすることができます:

1)FFTは、グリッドを削除することができます。 thisのようなものです。

2)マーカー(十字や円)は、直角とは異なる勾配のあるオブジェクトです。ローカライズに役立つかもしれません。

関連する問題