Hough変換の原理


Hough変換
一、
直線方程式:
対応関係:
二、直線系
定理:
三、定理——Hough変換による直線検出の原理
 
四、アルゴリズム
1)
2)
3)
4)
 
 
 
五、Opencvにおける関数応用
 
Hough変換を用いて二値画像に直線を見つける
CvSeq* cvHoughLines2( CvArr* image, void* line_storage, int method,
                      double rho, double theta, int threshold,
                      double param1=0, double param2=0 );

image
CV_HOUGH_PROBABILISTICメソッド検出時にその内容が関数によって変更される
line_storage
検出する線分バンク.メモリ・リポジトリ(この場合、1つのセグメント・シーケンスがリポジトリで作成され、関数によって返される)または、セグメント・パラメータを含む特殊なタイプ(以下を参照)の1行/単列マトリクス(CvMat*)であってもよい.マトリクスヘッダは、cols/rowsが検出されたセグメントのセットを含むように関数によって変更されます.line_storageはマトリクスである、実際の線分の数がマトリクスサイズを超えると、最大可能数の線分が戻る(線分は長さ、信頼性、その他の指標で並べ替えられていない).
method
Hough変換変数は、次の変数の1つです.
  • CV_HOUGH_STANDARD-伝統的または標準的なHough変換.各セグメントは2つの浮動小数点数(ρ, θ) 表示するρ 直線と原点(0,0)の距離で、θ セグメントとx軸の間の挟み角.したがって、マトリクスタイプはCV_でなければなりません.32FC2 type.
  • CV_HOUGH_PROBABILISTIC-確率Hough変換(画像がいくつかの長い線形分割を含む場合、より効率的である).セグメント全体ではなく、セグメント分割を返します.各分割は始点と終点で表されるので、行列(または作成されたシーケンス)タイプはCV_32SC4.
  • CV_HOUGH_MULTI_SCALE−従来のHough変換のマルチスケール変種.線分の符号化方式とCV_HOUGH_STANDARDの一致.

  • rho
    画素に関連する単位の距離精度
    theta
    アーク測定の角度精度
    threshold
    しきい値パラメータ.対応する積算値がthresholdより大きい場合、関数はこのセグメントを返す.
    param1
    最初のメソッドに関連するパラメータ:
  • は従来のHough変換に対して(0)を用いる.
  • 対の確率Hough変換は、最小線分長である.
  • は、距離精度rhoの分母(略距離精度はrhoで正確なのはrho/param 1)であるマルチスケールHough変換である.

  • param2
    2番目のメソッド関連パラメータ:
  • は従来のHough変換に対して(0)を用いる.
  • は確率Hough変換を行い、このパラメータは、同じ直線上で分割セグメント接続を行う最大間隔値(gap)を表し、すなわち、同じ直線上の2つの分割セグメント間の間隔がparam 2より小さい場合に、それらを1つにする.
  • は、角度精度thetaの分母であるマルチスケールHough変換(略角度精度はthetaであり、正確な角度はtheta/
  • であるべきである)
     
     
     
     
     
     
    附ブログは書きにくくて、手書きのさわやかさがなくて、コンピュータは馬鹿です