ハフ検出

Classes

ClassDescription
Public classCFviCircleHough
円ハフ検出基本クラス
Public classCFviCircleHoughCorrelationEdge
円ハフ検出クラス(相関エッジ法)
Public classCFviCircleHoughData
円ハフ検出データ構造クラス
Public classCFviCircleHoughParam
円ハフ検出パラメータ構造クラス
Public classCFviCircleHoughResult
円ハフ検出結果クラス
Public classCFviCircleHoughSobelEdge
円ハフ検出クラス(Sobel法)
Public classCFviLineHough
直線ハフ検出基本クラス
Public classCFviLineHoughCorrelationEdge
直線ハフ検出クラス(相関エッジ法)
Public classCFviLineHoughData
直線ハフ検出データ構造クラス
Public classCFviLineHoughParam
直線ハフ検出パラメータ構造クラス
Public classCFviLineHoughResult
直線ハフ検出結果クラス
Public classCFviLineHoughSobelEdge
直線ハフ検出クラス(Sobel法)
Public classErrorCode
エラーコード(ハフ検出関連)
Public classFunction
ハフ検出関数群
Public classFunctionEx
ハフ検出関数群 (改良版)

Enumerations

EnumerationDescription
Public enumerationContinueOption
連続オプション
Public enumerationObjectColor
対象物の色
Public enumerationRefineFlag
再計算フラグ
Public enumerationSortType
ソート方法

Remarks

ここには、ハフ検出関連のクラス、及び、関数群を集約しています。
トピック:


直線ハフ検出:

勾配付きエッジ点列から直線を検出する機能です。
詳しくは、クラス・関数・データ構造の説明をご参照ください。

検出されるデータ:


  • クラス:
    クラス内容
    CFviLineHough直線ハフ検出の基本クラスです。
    CFviLineHoughCorrelationEdge相関エッジ法2次元エッジ抽出による、直線検出を行うクラスです。
    CFviLineHoughSobelEdgeソーベル法2次元エッジ抽出による、直線検出を行うクラスです。
  • 関数:
    関数内容
    LineHough()()()()勾配付きエッジ点列から、直線ハフ検出を行います。
    GetSupportEdges()()()()直線に近い勾配付きエッジ点列を取得します。
    RefineByLSM()()()()直線を再検出します。
  • データ構造:
    クラスデータID内容
    CFviLineHoughData10601件分の検出データを格納するクラスです。下記の CFviLineHoughResult から取得できます。
    CFviLineHoughResult1061検出結果を格納するクラスです。
    CFviLineHoughParam1062直線ハフ検出パラメータを保有するクラスです。
    CFviEdge2DCorrelationParam10232次元エッジ検出パラメータ(相関エッジ法)を設定するクラスです。
    CFviEdge2DSobelParam10242次元エッジ検出パラメータ(ソーベル法)を設定するクラスです。

円ハフ検出:

勾配付きエッジ点列から円を検出する機能です。
詳しくは、クラス・関数・データ構造の説明をご参照ください。

検出されるデータ:


  • クラス:
    クラス内容
    CFviCircleHough円ハフ検出の基本クラスです。
    CFviCircleHoughCorrelationEdge相関エッジ法2次元エッジ抽出による、円検出を行うクラスです。
    CFviCircleHoughSobelEdgeソーベル法2次元エッジ抽出による、円検出を行うクラスです。
  • 関数:
    関数内容
    CircleHough()()()()勾配付きエッジ点列から、円ハフ検出を行います。
  • データ構造:
    クラスデータID内容
    CFviCircleHoughData10501件分の検出データを格納するクラスです。下記の CFviCircleHoughResult から取得できます。
    CFviCircleHoughResult1051検出結果を格納するクラスです。
    CFviCircleHoughParam1052円ハフ検出パラメータを保有するクラスです。
    CFviEdge2DCorrelationParam10232次元エッジ検出パラメータ(相関エッジ法)を設定するクラスです。
    CFviEdge2DSobelParam10242次元エッジ検出パラメータ(ソーベル法)を設定するクラスです。

エッジ勾配について:

当ライブラリでは、勾配付きエッジについて、以下のように定義しています。
エッジの向きは画像の色で黒(輝度低)から白(輝度高)の方向を向いているものとします。 角度の単位は「度」とします。下の図を参考にしてください。



また、直線の傾き(向き)は角度で表わすことができますが、その角度はその直線上にあるエッジの角度と同じものとします。

例えば、上左の図では、一番上の辺上にあるエッジの向きは270度ですから、 この辺(直線)の傾きを表わす角度も270度となります。 同様に考えて、一番左にある辺(直線)の傾きを表わす角度は180度ということになります。

注意して頂きたい点は『直線の傾きを表わす角度の範囲は360度である』ということです。 上左の図の例では、一番下の辺の傾きは90度であり、平行である一番上の辺とは 180度差があることになります。 これはエッジの向きが逆になっているからです。