WIL説明書(C++)
3.0.0
|
円ハフ検出は、勾配付きエッジ点列から円を検出する機能です。
詳しくは クラス、データ構造の説明をご参照ください。
検出されるデータ:
円ハフ検出は、検出機能を持つ本体(クラス、関数)とデータ構造で構成されます。
本体: (クラス)
クラス | 内容 |
CFvCircleHough | 円ハフ検出の基本クラスです。抽象クラスですので、インスタンスの生成は行えません。 |
CFvCircleHoughCorrelationEdge | 相関エッジ法により画像のエッジを抽出して、円検出を行うクラスです。 |
CFvCircleHoughSobelEdge | ソーベル法により画像のエッジを抽出して、円検出を行うクラスです。 |
本体: (関数)
関数 | 内容 |
CircleHough | 勾配付きエッジ点列をハフ空間に投票し、円検出を行う関数です。 |
データ構造:
クラス | 内容 |
CFvCircleHoughResult | 直線ハフ検出の検出結果を格納するクラスです。複数の直線ハフデータを格納します。 |
CFvCircleHoughData | 単一の直線ハフデータを格納するクラスです。 |
CFvCircleHoughParam | 直線ハフ検出のパラメータセットです。 |
データ構造: (エッジ検出処理用)
クラス | 内容 |
CFvEdge2DCorrelationParam | 相関エッジ法によるエッジ検出で使用されるパラメータを保有します。 CFvCircleHoughCorrelationEdge クラスで使用されます。 |
CFvEdge2DSobelParam | ソーベル法によるエッジ検出で使用されるパラメータを保有します。 CFvCircleHoughSobelEdge クラスで使用されます。 |
当ライブラリでは、勾配付きエッジについて、以下のように定義しています。
エッジの向きは画像の色で黒(輝度低)から白(輝度高)の方向を向いているものとします。 角度の単位は「度」とします。下の図を参考にしてください。
また、直線の傾き(向き)は角度で表わすことができますが、 その角度はその直線上にあるエッジの角度と同じものとします。
例えば、上左の図では、一番上の辺上にあるエッジの向きは270度ですから、 この辺(直線)の傾きを表わす角度も270度となります。 同様に考えて、一番左にある辺(直線)の傾きを表わす角度は180度、ということになります。
注意して頂きたい点は、直線の傾きを表わす角度の範囲は360度である、ということです。 上左の図の例では、一番下の辺の傾きは90度であり、平行である一番上の辺とは 180度差があることになります。これはエッジの向きが逆になっているからです。