ハフ変換(Hough Transform)による直線検出の実装
ハフ変換は画像から直線をなす特徴点を検出する手法。
xy 平面上の点 $(x, y)$ を $v = -xu + y + 1$ にしたがって uv 平面上の直線に写像する。
このとき xy 平面で $y = ax + b$ 直線上にある点 $(x_0, y_0)$ は、
uv 平面の直線 $v = -x_0 u + y_0 + 1 \\
v = a x_0 - u x_0 + b + 1 \\
v - (b + 1) = (a - u) x_0$
に写像される。
この直線は点 $(a, b+1)$ を必ず通るので、
uv 平面上の 3 つ以上の直線が 1 点で交わった時、
xy 平面上でそれらの直線に対応する点は $y = ax + b - 1$ 上にあることがわかる。