1

以下に示すように、信号から特定の形状の曲線とその位置を検出しようとしています。

(写真へのリンク:http ://tinypic.com/view.php?pic = ab5j45&s = 6 )

信号をfloatの配列として取得します。

ノイズなどのばらつきにより、曲線が正確でない場合があり、単純な数値マッチングは使用できません。OpenCVにこれに使用できるものがあるかどうか疑問に思いました。

さまざまな形状の曲線と信号内のそれらの位置を検出する必要があることに注意してください。ただし、1つのタイプを検出することがわかっている場合は、同じ方法を使用して他のタイプを検出できます。

よろしく、ピーター

4

3 に答える 3

1

一致させたい形状を表すパラメトリック数学関数を定義しようとします。

次に、手法 (最小二乗法など) を適用して、信号の曲線に最もよく一致するパラメーターの値を取得するだけです。

特にシグナル内の複数のイベントを一致させたい場合は、関数をスライディング ウィンドウと一致させたい場合があります。

于 2012-11-09T15:12:00.283 に答える
0

ノイズや「その他の変動」は高周波数であるため、ローパスフィルターで信号をフィルター処理する必要があります(フィルター処理には、畳み込み演算を使用します)。信号の周波数が非常に低いようです(5KHz未満でしょうか?)。アルフターフィルタリング、信号を確認し、目的の曲線形状が得られたら、数値マッチングを適用します。

于 2012-11-09T15:05:56.663 に答える
0

整合フィルターは、指定された形状(または整合するパターンのエネルギー)に最もよく一致する信号の整数位置に最も高いピークを持ちます。ただし、それに加えて、多くの場合、整合フィルター出力の隣接する値を使用して、tau = a-b/(a+b)(IIRC)を計算することにより、位置を微調整できます。ここで、a =ピーク値、bは2番目に良い値です。

これは、一致する信号が良好な自己相関特性を持っている場合に特にうまく機能します。つまり、1つの高いピークと、ピークから+ -1でゼロに近い(基本的にパイロット信号の検出を意味します)。

于 2012-11-14T15:31:39.537 に答える