2011-07-17 2 views
9

ハフ変換を行った後、画像の線ではなく線分を検出する方法はありますか?各アキュムレータビンの最小座標と最大座標を保存するのが理にかなっていますか、それとも良い方法がありますか?ハフ変換から線分を抽出する

私はOpenCV、btwを使用していません。

答えて

2

OpenCVを使用しない場合でも、HoughLinesP functionのコードでは、線分を返すコードを見ることができます。

はい、アキュムレータビンの極限座標を保存することは意味があります。

[編集2011-07-19] belisarius' example aboveと同じ行にある複数の線分がある場合、極端な座標を覚えておけばそれ以上の作業は必要ありません。だからそれはあなたの正確なアプリケーションに依存します。

+0

私のためのデッドリンク –

+0

yepがラットとして死んでいる – mcy

+0

更新されたリンク –

1

Matlabには、あなたの望むものとまったく同じ機能があります。ハフ変換に基づいて線分を抽出します。二つの別々の線分が同一線上にある場合に動作しませんハフビンのための極端な座標を保存

http://www.mathworks.com/help/toolbox/images/ref/houghlines.html

+0

OpenCVやMatlabのような大きなパッケージは、私が組み込みプラットフォーム上にいるので使用できません。 – mdm

+1

しかし、あなたはソースコードを見たり、アルゴリズムの説明を読むことができます。 – ton4eg

4

私はハフラインに変換し、セグメントはあなたが何が起こっているかをキャッチするのに役立ちます示し、このイメージを考える:

enter image description here

4

を基本的に、あなたが貢献した点を正確に追跡する必要があります各ハフビンに投票してください。ビンを埋める(Matlabバージョンのように)か、ビンを埋める(より効率的ですが、より多くのメモリを消費し、組み込みプラットフォームには適していないかもしれません)かのいずれかでこれを行うことができます。そこから、ライン上のピクセルをたどって実際のセグメントを抽出し、隣接するピクセル間のギャップが大きすぎると新しいセグメントを作成することができます。

実際の実装(hough_bin_pixels.mとしてリンクされています)を含めて、特定のHoughビンにどのピクセルを寄稿するかについては、this partial description of the Matlab algorithmを参照してください。

関連する問題