ハフ変換の原理は直線抽出の導入に基づいています。

1. はじめに

      ハフ変換の基本原理は、点と線の双対性を利用し、元の画像空間の与えられた直線を、曲線の表現形式を通じてパラメータ空間の点に変換することです。このようにして、元の画像内の特定の線を検出するという問題は、パラメーター空間内のピークを見つけるという問題に変換されます。グローバルな特性の検出をローカルな特性の検出に変換します。直線、楕円、円、円弧など。

2. 直線抽出の理解に基づく

     既知の画像上に直線を引いたと仮定すると、その直線の位置が必要となる。既知の直線の方程式は式(1)で表すことができ、k、bは直線の傾きと切片を表すパラメータです。点 P0(x0,y0) を通るすべての直線のパラメータは、方程式 y0=kx0+b を満たします。つまり、P0(x0,y0) は直線のファミリーを決定します。

                                              y=k*x+b (1)

x、yを定数、元のパラメータk、bを変数とすると、式(1)は式(2)のように変形されます。

                                             b=-k*x+y

これはパラメータ平面 kb に変換されます。式(1)は画像座標空間、式(2)はパラメータ空間であり、この式(1)から式(2)への変換は、デカルト座標における点P0(x0,y0)のハフ変換となる。式(2)から、画像のxy平面上の画素は、パラメータ平面上の直線に対応しており、直線の傾きと切片であることが分かる。よりわかりやすくするために、画像上の直線が y=x であると仮定し、直線上の 3 つの点 A(0,0)、B(1,1)、C(2,2) を取ります。点Aを通る直線のパラメータは方程式b=0を満たさなければならず、点Bを通る直線のパラメータは方程式1=k+bを満たさなければならず、点Cを通る直線のパラメータは方程式2=2k+bを満たす必要があり、これら3つの方程式はパラメータ平面上の3本の直線に対応し、これら3本の直線は1点(k=1、b=0)で交差することがわかります。同様に、パラメータ平面上の直線に対応する元の画像上の直線 y=x 上の他の点 ((3,3)、(4,4) など) も点 (k=1、b=0) を通過します。この特性は、画像平面上の点をパラメータ平面上の線にマッピングし、最終的に統計的特性を通じて問題を解決するという問題を解決する方法を提供します。画像平面上に 2 つの直線がある場合、パラメータ平面上に 2 つのピーク点が表示されることになります。図の下にあります。

つまり、ハフ変換の考え方は次のとおりです

元の画像座標系の点はパラメータ座標系の直線に対応し、パラメータ座標系の直線は元の座標系の点に対応します。すると、元の座標系で直線を表すすべての点は同じ傾きと切片を持ち、パラメータ座標系の同じ点に対応します。このようにして、元の座標系の各点をパラメータ座標系に射影した後、パラメータ座標系上に集合点が存在するかどうかを確認すると、元の座標系では直線に相当する集合点が存在します。

      実際の応用では、y=k*x+bという形の直線方程式はx=cという形の直線を表現することができません(このとき直線の傾きは無限大になります)。したがって、実際のアプリケーションでは、パラメトリック方程式 p=x*cos(θ)+y*sin(θ) が使用されます。このように、画像平面上の点はパラメータ p---θ 平面上の曲線に対応し、その他は同じであり、模式図は次のようになります。

 

上図 (a) は元の画像空間内の点を示し、(b) はデカルト座標系内の同じ 4 本の直線を示し、(c) はこれら 4 本の直線が極座標パラメータ空間内の 4 つの点として表現できることを示しています。

      直交座標 XY 内の点によって形成される直線を検出するために、極座標 ap を多数の小さなグリッドに量子化できます。直交座標における各点の座標(x,y)に応じて、a=0~180°内の小セルのステップサイズで各p値を計算し、得られた値が小セル内に収まり、小セルの累積カウンタを1加算します。デカルト座標のすべての点が変換された後、小セルを確認します。以下の模式図に示すように、最大​​のカウント値を持つ小セルの (a, p) 値が、デカルト座標で得られた直線に対応します。

 

 

おすすめ

転載: blog.csdn.net/qq_36812406/article/details/121844233