ここで最初に説明した問題は進化しており、さらに詳しく調べて新しい情報を得たため、少し簡単になったかもしれません。
結論として、コンピュータービジョン/画像処理技術を使用して、ここに示されているこのパターンを検出できるようにしたいと思います。ご覧のとおり、理想的なパターンは4つの「ping」で構成されています。オブジェクト認識は次のようになります。
- 不変シフト
- 水平方向では、画像は周期的になります。(つまり、右に押す、左に出る、およびその逆)。
- (幸いなことに)垂直的には、周期的ではありません。(つまり、上または下に押すと停止します)。
- スケール不変(表示されるように、pingの「厚さ」は異なる場合があります。)
私はそれについて続けることができますが、私が意味することをカバーする画像を添付しています、以下をご覧ください:
もちろん、このファミリーからわかるように、それらは異なる「スケール」でもあります。
そして最後に、実際に受信する可能性のある「現実的な」シナリオをいくつか示します。ノイズがあり、行が下に行くにつれて「フェード」する可能性があり、もちろん、画像にはたくさんの偽の線、アーチファクトがありますなど
そしてもちろん、グランドフィナーレとして、この「極端な」シナリオの明確な可能性があります。
そこで、もう一度、最高の検出のためにここでどのコンピューターマシンビジョンテクニックを利用すべきかについてのガイダンスをお願いしたいと思います。パターンの発生ます。また、現実的なシナリオで適切な結果を得ることができます。(良いニュースは、回転不変である必要はないということです)。これまでに思いついたのは、2次元相関だけです。
現実には、色付きの画像がないことを付け加えます-数字の大群を取得するだけなので、「グレースケール」について話していると思います。
前もって感謝します!
PSその価値のために、おそらくオープンC Vを使用します。
編集#1:
コメントに基づいて、あなたがリクエストした詳細をここに追加しました:
データを定義する特性については、次のことを想定できます。
各pingの水平方向の長さはさまざまですが、上限と下限はわかっています。この範囲内のすべての場合はYES、外部の場合はNO。(たとえば、pingの長さは1〜3秒の範囲であることがわかっています)。
すべてのpingは、YESの場合は「可視」である必要がありますが、最後の行が欠落している可能性があり、それでも「YES」と言いたい場合があります。そうでなければNO。
各pingの垂直方向の長さ(「厚さ」)は異なる場合がありますが、ここでも上限と下限を知っています。(これらの画像に表示されるものと同様)。その範囲内のすべてに対してはい。外のものは一切ありません。
YESの場合、各ping間の高さは常に同じである必要があります。そうでない場合、NO。(例、すべてのpingが互いに相対的に同じ高さであることがわかります(垂直軸で〜110))。したがって、110 +/- 5はYESになりますが、それ以外はNOでなければなりません。
私はそれについてだと思います-しかし、私が追加できるものを教えてください...(また、ここに示されているものはすべて、YESとして登録する必要があります)
detect this pattern shown here
ですか?赤/黄色の線を分離することに興味がありますか、または実際にそのような線間の関係を計算する式が必要ですか。線を見つけるだけで、いくつかのしきい値処理またはセグメンテーションのみが必要になります。何が本当に欲しいですか?