🟧 ハフ直線検出

機能説明

このオペレーターは、ハフ変換アルゴリズムを使用して、入力されたグレースケール画像から直線セグメントを検出および抽出します。

使用シナリオ

物体の直線エッジの検出。

入力出力

入力項目

画像:入力される単一チャンネルのグレースケール画像。画像内の直線エッジが鮮明であるほど、検出効果が向上します。

出力項目

検出結果:検出インスタンスリストを出力します。

パラメータ説明

閾値

パラメータ説明

累積カウント値の閾値。「直線を構成するために必要な最小点数」として理解できます。つまり、複数の点が一点に交わるカウント値がこの閾値を超えた場合にのみ、画像空間に直線が存在すると判断されます。

調整説明

  • この値を増やす:大量のピクセル点で構成される、非常に明確な長い直線のみが検出されます。

  • この値を減らす:少数の点で構成される短い、不連続な線も検出される可能性がありますが、ノイズ干渉も増加します。

パラメータ範囲

[1, 1000]、デフォルト値:500

線幅

パラメータ説明

出力結果における検出直線の幅を設定します。

調整説明

このパラメータは検出プロセスには影響せず、出力結果の線幅の設定と視覚化効果の制御にのみ使用されます。

パラメータ範囲

[1, 200]、デフォルト値:1

検出方法

パラメータ説明

ハフ直線検出の具体的なアルゴリズムを選択します:

  • 標準ハフ変換:条件を満たす無限長の直線をすべて見つけます(有限の線分ではありません)。直線の長さではなく方向を分析する必要があるシーンに適しています。

  • 確率的ハフ変換:最適化アルゴリズムで、検出された線分の始点と終点を直接返すことができ、実行速度が速く、より直感的です。

調整説明

標準ハフ変換

  • 最小/最大角度:検出する直線の角度範囲を設定します。特定方向の直線を検出したい場合(例:水平線または垂直線のみを検出)、この範囲を設定することで検索空間を絞り込み、効率と精度を向上させることができます。

確率的ハフ変換

  • 最小直線長:線分として認識される最小ピクセル長を定義します。この値を増やすと、ノイズによって生成される多くの短い無関係な線分を効果的にフィルタリングできます。

  • 最大直線ギャップ:同一直線上の2点間に許容される最大ピクセルギャップを定義します。画像内の直線が破線または部分的に断裂している場合、この値を適切に増やすことで、アルゴリズムはこれらの断線したセグメントを1つの完全な直線に接続しようとします。

パラメータ範囲

最小/最大角度:[0,360]、デフォルト値:0/180、単位:°

最小直線長:[0,1000]、デフォルト値:180、単位:ピクセル

最大直線ギャップ:[0,1000]、デフォルト値:180、単位:ピクセル