3

私は目の画像に関連するいくつかの仕事をしています。エッジ検出を行いました。エッジは曲線のようなもので、連続していません。私はそれが連続的であると仮定し、その曲線の法線を見つけなければなりません。MATLAB を使用して法線を見つけるにはどうすればよいですか?

下の画像をご覧ください。

エッジ画像

上の曲線の法線を見つけたいです。私が十分に明確だったことを願っています。

4

3 に答える 3

2

直感的ではないように見えますが、各ピクセルのエッジ方向は法線のかなり良い推定値です。これは、カーブ フィッティングを含まないため、最も単純なソリューションです。

MATLAB では、ソーベル フィルターを使用してピクセル単位のエッジ方向を見つけることができます。

[BW,thresh,gv,gh] = edge(I,'sobel');
edgeDir = atan2(gv, gh);

これにより、ラジアン単位の角度としてエッジの方向が得られます。

于 2013-04-18T09:27:24.173 に答える
1

データへのカーブ フィッティング (MSE ベースまたはその他の基準) を検討することをお勧めします。上部の曲線には 2 次が適していると思います。モデルができたら、各ポイントで接線と法線を計算できます。

于 2013-04-18T07:14:21.710 に答える
0

Zaphod が推奨するように、法線はエッジに対して垂直です。カーブ フィッティングを行う必要はありません。バック プロジェクションを使用して、カーブの焦点を特定できます。

カーブに沿った各エッジ ポイントから開始し、法線の方向にカーブから線を引きます。線が通過する各ピクセルの値を増やして線を描画します。すべてのエッジに対してこれを行うと、カーブごとに 1 つずつ、残りの値よりも高い値を持つ 2 つのピクセルを見つけることができます。次に、各曲線の焦点である場所を知る必要があります。

于 2013-04-28T03:20:34.427 に答える