[J-6] ハフ変換による直線・円の検出

直線・円の検出には、昔からハフ(Hough)変換があります。 (1)直線の検出 ある直線上の点(x,y)の極座標形式はr=xcosθ+ysinθ で表されます。そこで図形上のすべての点(x,y)に対して、θを0からπまで変化させて、(r,θ)の組の頻度が多い(r,θ)で表される直線を検出します。 逆変換はy= -(cosθ/sinθ)・x + r/sinθ、x=-(sinθ/cosθ)・y + r/cosθとなります。 (2)円の検出 ある円上の点(x,y)はその中心(cx,cy)、半径rを用いて(x-cx)^2+(y-cy)^2=r^2 (^2は2乗の意味)で表されます。そこで図形上のすべての点(x,y)に対して、cxとcyを、検出するる図形の領域で変化させて、(cx,cy,r)の組の頻度が多い(cx,cy,r)の円を検出します。 Hough変換による画像からの直線や円の検出:CodeZineの記事を「processing言語」で移植させていただき、実行しました。 Processingソースプログラムのダウンロードはここをクリックしてください
Hough変換

Hough変換による直線・円の検出