3

画像の検出可能なすべての線の傾き(または角度)を計算する必要があります。そして、可能であれば、線の傾きの変化を検出することさえできます。私は2Dフーリエを実行しましたが、すべての領域(64x64pxのセット)で近隣の平均角度を知っています。ハフ変換も試しましたが、ソーベルエッジ検出もプレウィットエッジ検出もこれらの線を適切に検出していないようです。

一部の線は互いに交差しており、一部は直線ではないことに注意してください。

各線の傾きを検出する方法はありますか?または、有用なハフ変換を実行するためにこれらの線を検出するには?

完全な画像が必要な場合は、どこかにアップロードできます。

画像

4

1 に答える 1

1

アダメクによろしく、

手遅れにならないことを願っています。ここにいくつかの簡単なアイデアがあります:

1) 行を検出するために Hough trafo を使用することは、最初のステップとしては良い考えです。対処するのが最も難しい問題は、おそらく、行の開始と終了を決定し、接続されている可能性のある行を分離する方法です。このコンテキストでラベル付けキーワードを検索すると、いくつかの結果が得られるはずです。3) その後、終了点と開始点があれば、a) さらなる分析でより正確なデータが必要な場合は、各線について回帰直線を計算します。b) f(x)=mx+n を介して勾配と切片を計算するだけです。ここで、m は傾きと n 切片。2D で 2 点が与えられた場合、これは次のように簡単に実行できます。

slope = (yRight - yLeft)/(xRight - xLeft);
m_oIntercept = ((yLeft - slope*xLeft) + (yRight - slope*xRight))*0.5;

ゼロ除算を避けるために、前に (xRight-xLeft) < eps をテストすることを忘れないでください。

お役に立てば幸いです、G.

于 2013-03-26T09:50:34.090 に答える