🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。

クラス ORB


  • public class ORB extends Feature2D
    CITE: RRKB11 に記述されている ORB (*oriented BRIEF*) キーポイント検出器および記述子抽出器を実装するクラス。本アルゴリズムはピラミッド上で FAST を用いて安定なキーポイントを検出し、FAST または Harris 応答を用いて最も強い特徴を選択し、1 次モーメントを用いてその向きを求め、BRIEF を用いて記述子を計算する(このとき、ランダムな点ペア(または k 個組)の座標は、測定された向きに従って回転される)。
    • コンストラクタの詳細

      • ORB

        protected ORB​(long addr)
    • メソッドの詳細

      • __fromPtr__

        public static ORB __fromPtr__​(long addr)
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor,
                                 int nlevels,
                                 int edgeThreshold,
                                 int firstLevel,
                                 int WTA_K,
                                 int scoreType,
                                 int patchSize,
                                 int fastThreshold)
        The ORB constructor
        引数:
        nfeatures - 保持する特徴の最大数。
        scaleFactor - ピラミッドの間引き率で、1より大きい値。scaleFactor==2 は古典的なピラミッドを意味し、各次レベルのピクセル数が前のレベルの4分の1になる。ただしこのような大きいスケールファクタは特徴マッチングのスコアを劇的に低下させる。一方、1に近すぎるスケールファクタは、一定のスケール範囲をカバーするのに必要なピラミッドレベルが増えることを意味し、速度が低下する。
        nlevels - ピラミッドのレベル数。最小レベルは input_image_linear_size/pow(scaleFactor, nlevels - firstLevel) に等しい線形サイズを持つ。
        edgeThreshold - 特徴を検出しない境界の大きさ。patchSize 引数とおおむね一致させるべきである。
        firstLevel - 元画像を配置するピラミッドのレベル。前のレイヤーは拡大した元画像で埋められる。
        WTA_K - oriented BRIEF記述子の各要素を生成する点の数。デフォルト値の2は、ランダムな点ペアを取りその明るさを比較するBRIEFを意味し、0/1のレスポンスが得られる。他に取りうる値は3と4である。たとえば3の場合、3つのランダムな点を取り(もちろんそれらの点の座標はランダムだが、事前定義されたシードから生成されるため、BRIEF記述子の各要素はピクセル矩形から決定論的に計算される)、最大の明るさを持つ点を見つけ、その勝者のインデックス(0、1、または2)を出力する。このような出力は2ビットを占有するため、NORM_HAMMING2(ビンあたり2ビット)と呼ばれる特別な変種のハミング距離が必要になる。WTA_K=4 の場合、各ビンの計算に4つのランダムな点を取る(これも2ビットを占有し、取りうる値は0、1、2、または3である)。
        scoreType - デフォルトの HARRIS_SCORE は、特徴をランク付けするためにHarrisアルゴリズムが使用されることを意味する(スコアは KeyPoint::score に書き込まれ、最良の nfeatures 個の特徴を保持するために使われる)。FAST_SCORE はこの引数の代替値で、やや安定性の劣るキーポイントを生成するが、計算がわずかに速い。
        patchSize - oriented BRIEF記述子が使用するパッチのサイズ。当然ながら、より小さなピラミッドレイヤーでは特徴がカバーする知覚上の画像領域は大きくなる。
        fastThreshold - FASTのしきい値。
        戻り値:
        自動生成
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor,
                                 int nlevels,
                                 int edgeThreshold,
                                 int firstLevel,
                                 int WTA_K,
                                 int scoreType,
                                 int patchSize)
        The ORB constructor
        引数:
        nfeatures - 保持する特徴の最大数。
        scaleFactor - ピラミッドの間引き率で、1より大きい値。scaleFactor==2 は古典的なピラミッドを意味し、各次レベルのピクセル数が前のレベルの4分の1になる。ただしこのような大きいスケールファクタは特徴マッチングのスコアを劇的に低下させる。一方、1に近すぎるスケールファクタは、一定のスケール範囲をカバーするのに必要なピラミッドレベルが増えることを意味し、速度が低下する。
        nlevels - ピラミッドのレベル数。最小レベルは input_image_linear_size/pow(scaleFactor, nlevels - firstLevel) に等しい線形サイズを持つ。
        edgeThreshold - 特徴を検出しない境界の大きさ。patchSize 引数とおおむね一致させるべきである。
        firstLevel - 元画像を配置するピラミッドのレベル。前のレイヤーは拡大した元画像で埋められる。
        WTA_K - oriented BRIEF記述子の各要素を生成する点の数。デフォルト値の2は、ランダムな点ペアを取りその明るさを比較するBRIEFを意味し、0/1のレスポンスが得られる。他に取りうる値は3と4である。たとえば3の場合、3つのランダムな点を取り(もちろんそれらの点の座標はランダムだが、事前定義されたシードから生成されるため、BRIEF記述子の各要素はピクセル矩形から決定論的に計算される)、最大の明るさを持つ点を見つけ、その勝者のインデックス(0、1、または2)を出力する。このような出力は2ビットを占有するため、NORM_HAMMING2(ビンあたり2ビット)と呼ばれる特別な変種のハミング距離が必要になる。WTA_K=4 の場合、各ビンの計算に4つのランダムな点を取る(これも2ビットを占有し、取りうる値は0、1、2、または3である)。
        scoreType - デフォルトの HARRIS_SCORE は、特徴をランク付けするためにHarrisアルゴリズムが使用されることを意味する(スコアは KeyPoint::score に書き込まれ、最良の nfeatures 個の特徴を保持するために使われる)。FAST_SCORE はこの引数の代替値で、やや安定性の劣るキーポイントを生成するが、計算がわずかに速い。
        patchSize - oriented BRIEF記述子が使用するパッチのサイズ。当然ながら、より小さなピラミッドレイヤーでは特徴がカバーする知覚上の画像領域は大きくなる。
        戻り値:
        自動生成
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor,
                                 int nlevels,
                                 int edgeThreshold,
                                 int firstLevel,
                                 int WTA_K,
                                 int scoreType)
        The ORB constructor
        引数:
        nfeatures - 保持する特徴の最大数。
        scaleFactor - ピラミッドの間引き率で、1より大きい値。scaleFactor==2 は古典的なピラミッドを意味し、各次レベルのピクセル数が前のレベルの4分の1になる。ただしこのような大きいスケールファクタは特徴マッチングのスコアを劇的に低下させる。一方、1に近すぎるスケールファクタは、一定のスケール範囲をカバーするのに必要なピラミッドレベルが増えることを意味し、速度が低下する。
        nlevels - ピラミッドのレベル数。最小レベルは input_image_linear_size/pow(scaleFactor, nlevels - firstLevel) に等しい線形サイズを持つ。
        edgeThreshold - 特徴を検出しない境界の大きさ。patchSize 引数とおおむね一致させるべきである。
        firstLevel - 元画像を配置するピラミッドのレベル。前のレイヤーは拡大した元画像で埋められる。
        WTA_K - oriented BRIEF記述子の各要素を生成する点の数。デフォルト値の2は、ランダムな点ペアを取りその明るさを比較するBRIEFを意味し、0/1のレスポンスが得られる。他に取りうる値は3と4である。たとえば3の場合、3つのランダムな点を取り(もちろんそれらの点の座標はランダムだが、事前定義されたシードから生成されるため、BRIEF記述子の各要素はピクセル矩形から決定論的に計算される)、最大の明るさを持つ点を見つけ、その勝者のインデックス(0、1、または2)を出力する。このような出力は2ビットを占有するため、NORM_HAMMING2(ビンあたり2ビット)と呼ばれる特別な変種のハミング距離が必要になる。WTA_K=4 の場合、各ビンの計算に4つのランダムな点を取る(これも2ビットを占有し、取りうる値は0、1、2、または3である)。
        scoreType - デフォルトの HARRIS_SCORE は、特徴をランク付けするためにHarrisアルゴリズムが使用されることを意味する(スコアは KeyPoint::score に書き込まれ、最良の nfeatures 個の特徴を保持するために使われる)。FAST_SCORE はこの引数の代替値で、やや安定性の劣るキーポイントを生成するが、計算がわずかに速い。ピラミッドレイヤーでは特徴がカバーする知覚上の画像領域は大きくなる。
        戻り値:
        自動生成
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor,
                                 int nlevels,
                                 int edgeThreshold,
                                 int firstLevel,
                                 int WTA_K)
        The ORB constructor
        引数:
        nfeatures - 保持する特徴の最大数。
        scaleFactor - ピラミッドの間引き率で、1より大きい値。scaleFactor==2 は古典的なピラミッドを意味し、各次レベルのピクセル数が前のレベルの4分の1になる。ただしこのような大きいスケールファクタは特徴マッチングのスコアを劇的に低下させる。一方、1に近すぎるスケールファクタは、一定のスケール範囲をカバーするのに必要なピラミッドレベルが増えることを意味し、速度が低下する。
        nlevels - ピラミッドのレベル数。最小レベルは input_image_linear_size/pow(scaleFactor, nlevels - firstLevel) に等しい線形サイズを持つ。
        edgeThreshold - 特徴を検出しない境界の大きさ。patchSize 引数とおおむね一致させるべきである。
        firstLevel - 元画像を配置するピラミッドのレベル。前のレイヤーは拡大した元画像で埋められる。
        WTA_K - oriented BRIEF記述子の各要素を生成する点の数。デフォルト値の2は、ランダムな点ペアを取りその明るさを比較するBRIEFを意味し、0/1のレスポンスが得られる。他に取りうる値は3と4である。たとえば3の場合、3つのランダムな点を取り(もちろんそれらの点の座標はランダムだが、事前定義されたシードから生成されるため、BRIEF記述子の各要素はピクセル矩形から決定論的に計算される)、最大の明るさを持つ点を見つけ、その勝者のインデックス(0、1、または2)を出力する。このような出力は2ビットを占有するため、NORM_HAMMING2(ビンあたり2ビット)と呼ばれる特別な変種のハミング距離が必要になる。WTA_K=4 の場合、各ビンの計算に4つのランダムな点を取る(これも2ビットを占有し、取りうる値は0、1、2、または3である)。(スコアは KeyPoint::score に書き込まれ、最良の nfeatures 個の特徴を保持するために使われる)。FAST_SCORE はこの引数の代替値で、やや安定性の劣るキーポイントを生成するが、計算がわずかに速い。ピラミッドレイヤーでは特徴がカバーする知覚上の画像領域は大きくなる。
        戻り値:
        自動生成
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor,
                                 int nlevels,
                                 int edgeThreshold,
                                 int firstLevel)
        The ORB constructor
        引数:
        nfeatures - 保持する特徴の最大数。
        scaleFactor - ピラミッドの間引き率で、1より大きい値。scaleFactor==2 は古典的なピラミッドを意味し、各次レベルのピクセル数が前のレベルの4分の1になる。ただしこのような大きいスケールファクタは特徴マッチングのスコアを劇的に低下させる。一方、1に近すぎるスケールファクタは、一定のスケール範囲をカバーするのに必要なピラミッドレベルが増えることを意味し、速度が低下する。
        nlevels - ピラミッドのレベル数。最小レベルは input_image_linear_size/pow(scaleFactor, nlevels - firstLevel) に等しい線形サイズを持つ。
        edgeThreshold - 特徴を検出しない境界の大きさ。patchSize 引数とおおむね一致させるべきである。
        firstLevel - 元画像を配置するピラミッドのレベル。前のレイヤーは拡大した元画像で埋められる。デフォルト値の2は、ランダムな点ペアを取りその明るさを比較するBRIEFを意味し、0/1のレスポンスが得られる。他に取りうる値は3と4である。たとえば3の場合、3つのランダムな点を取り(もちろんそれらの点の座標はランダムだが、事前定義されたシードから生成されるため、BRIEF記述子の各要素はピクセル矩形から決定論的に計算される)、最大の明るさを持つ点を見つけ、その勝者のインデックス(0、1、または2)を出力する。このような出力は2ビットを占有するため、NORM_HAMMING2(ビンあたり2ビット)と呼ばれる特別な変種のハミング距離が必要になる。WTA_K=4 の場合、各ビンの計算に4つのランダムな点を取る(これも2ビットを占有し、取りうる値は0、1、2、または3である)。(スコアは KeyPoint::score に書き込まれ、最良の nfeatures 個の特徴を保持するために使われる)。FAST_SCORE はこの引数の代替値で、やや安定性の劣るキーポイントを生成するが、計算がわずかに速い。ピラミッドレイヤーでは特徴がカバーする知覚上の画像領域は大きくなる。
        戻り値:
        自動生成
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor,
                                 int nlevels,
                                 int edgeThreshold)
        The ORB constructor
        引数:
        nfeatures - 保持する特徴の最大数。
        scaleFactor - ピラミッドの間引き率で、1より大きい値。scaleFactor==2 は古典的なピラミッドを意味し、各次レベルのピクセル数が前のレベルの4分の1になる。ただしこのような大きいスケールファクタは特徴マッチングのスコアを劇的に低下させる。一方、1に近すぎるスケールファクタは、一定のスケール範囲をカバーするのに必要なピラミッドレベルが増えることを意味し、速度が低下する。
        nlevels - ピラミッドのレベル数。最小レベルは input_image_linear_size/pow(scaleFactor, nlevels - firstLevel) に等しい線形サイズを持つ。
        edgeThreshold - 特徴を検出しない境界の大きさ。patchSize 引数とおおむね一致させるべきである。拡大した元画像で。デフォルト値の2は、ランダムな点ペアを取りその明るさを比較するBRIEFを意味し、0/1のレスポンスが得られる。他に取りうる値は3と4である。たとえば3の場合、3つのランダムな点を取り(もちろんそれらの点の座標はランダムだが、事前定義されたシードから生成されるため、BRIEF記述子の各要素はピクセル矩形から決定論的に計算される)、最大の明るさを持つ点を見つけ、その勝者のインデックス(0、1、または2)を出力する。このような出力は2ビットを占有するため、NORM_HAMMING2(ビンあたり2ビット)と呼ばれる特別な変種のハミング距離が必要になる。WTA_K=4 の場合、各ビンの計算に4つのランダムな点を取る(これも2ビットを占有し、取りうる値は0、1、2、または3である)。(スコアは KeyPoint::score に書き込まれ、最良の nfeatures 個の特徴を保持するために使われる)。FAST_SCORE はこの引数の代替値で、やや安定性の劣るキーポイントを生成するが、計算がわずかに速い。ピラミッドレイヤーでは特徴がカバーする知覚上の画像領域は大きくなる。
        戻り値:
        自動生成
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor,
                                 int nlevels)
        The ORB constructor
        引数:
        nfeatures - 保持する特徴の最大数。
        scaleFactor - ピラミッドの間引き率で、1より大きい値。scaleFactor==2 は古典的なピラミッドを意味し、各次レベルのピクセル数が前のレベルの4分の1になる。ただしこのような大きいスケールファクタは特徴マッチングのスコアを劇的に低下させる。一方、1に近すぎるスケールファクタは、一定のスケール範囲をカバーするのに必要なピラミッドレベルが増えることを意味し、速度が低下する。
        nlevels - ピラミッドのレベル数。最小レベルは input_image_linear_size/pow(scaleFactor, nlevels - firstLevel) に等しい線形サイズを持つ。patchSize 引数とおおむね一致させる。拡大した元画像で。デフォルト値の2は、ランダムな点ペアを取りその明るさを比較するBRIEFを意味し、0/1のレスポンスが得られる。他に取りうる値は3と4である。たとえば3の場合、3つのランダムな点を取り(もちろんそれらの点の座標はランダムだが、事前定義されたシードから生成されるため、BRIEF記述子の各要素はピクセル矩形から決定論的に計算される)、最大の明るさを持つ点を見つけ、その勝者のインデックス(0、1、または2)を出力する。このような出力は2ビットを占有するため、NORM_HAMMING2(ビンあたり2ビット)と呼ばれる特別な変種のハミング距離が必要になる。WTA_K=4 の場合、各ビンの計算に4つのランダムな点を取る(これも2ビットを占有し、取りうる値は0、1、2、または3である)。(スコアは KeyPoint::score に書き込まれ、最良の nfeatures 個の特徴を保持するために使われる)。FAST_SCORE はこの引数の代替値で、やや安定性の劣るキーポイントを生成するが、計算がわずかに速い。ピラミッドレイヤーでは特徴がカバーする知覚上の画像領域は大きくなる。
        戻り値:
        自動生成
      • create

        public static ORB create​(int nfeatures,
                                 float scaleFactor)
        The ORB constructor
        引数:
        nfeatures - 保持する特徴の最大数。
        scaleFactor - ピラミッドの間引き率で、1より大きい値。scaleFactor==2 は古典的なピラミッドを意味し、各次レベルのピクセル数が前のレベルの4分の1になる。ただしこのような大きいスケールファクタは特徴マッチングのスコアを劇的に低下させる。一方、1に近すぎるスケールファクタは、一定のスケール範囲をカバーするのに必要なピラミッドレベルが増えることを意味し、速度が低下する。input_image_linear_size/pow(scaleFactor, nlevels - firstLevel)。patchSize 引数とおおむね一致させる。拡大した元画像で。デフォルト値の2は、ランダムな点ペアを取りその明るさを比較するBRIEFを意味し、0/1のレスポンスが得られる。他に取りうる値は3と4である。たとえば3の場合、3つのランダムな点を取り(もちろんそれらの点の座標はランダムだが、事前定義されたシードから生成されるため、BRIEF記述子の各要素はピクセル矩形から決定論的に計算される)、最大の明るさを持つ点を見つけ、その勝者のインデックス(0、1、または2)を出力する。このような出力は2ビットを占有するため、NORM_HAMMING2(ビンあたり2ビット)と呼ばれる特別な変種のハミング距離が必要になる。WTA_K=4 の場合、各ビンの計算に4つのランダムな点を取る(これも2ビットを占有し、取りうる値は0、1、2、または3である)。(スコアは KeyPoint::score に書き込まれ、最良の nfeatures 個の特徴を保持するために使われる)。FAST_SCORE はこの引数の代替値で、やや安定性の劣るキーポイントを生成するが、計算がわずかに速い。ピラミッドレイヤーでは特徴がカバーする知覚上の画像領域は大きくなる。
        戻り値:
        自動生成
      • create

        public static ORB create​(int nfeatures)
        The ORB constructor
        引数:
        nfeatures - 保持する特徴の最大数。ピラミッドでは、各次レベルのピクセル数が前のレベルの4分の1になる。ただしこのような大きいスケールファクタは特徴マッチングのスコアを劇的に低下させる。一方、1に近すぎるスケールファクタは、一定のスケール範囲をカバーするのに必要なピラミッドレベルが増えることを意味し、速度が低下する。input_image_linear_size/pow(scaleFactor, nlevels - firstLevel)。patchSize 引数とおおむね一致させる。拡大した元画像で。デフォルト値の2は、ランダムな点ペアを取りその明るさを比較するBRIEFを意味し、0/1のレスポンスが得られる。他に取りうる値は3と4である。たとえば3の場合、3つのランダムな点を取り(もちろんそれらの点の座標はランダムだが、事前定義されたシードから生成されるため、BRIEF記述子の各要素はピクセル矩形から決定論的に計算される)、最大の明るさを持つ点を見つけ、その勝者のインデックス(0、1、または2)を出力する。このような出力は2ビットを占有するため、NORM_HAMMING2(ビンあたり2ビット)と呼ばれる特別な変種のハミング距離が必要になる。WTA_K=4 の場合、各ビンの計算に4つのランダムな点を取る(これも2ビットを占有し、取りうる値は0、1、2、または3である)。(スコアは KeyPoint::score に書き込まれ、最良の nfeatures 個の特徴を保持するために使われる)。FAST_SCORE はこの引数の代替値で、やや安定性の劣るキーポイントを生成するが、計算がわずかに速い。ピラミッドレイヤーでは特徴がカバーする知覚上の画像領域は大きくなる。
        戻り値:
        自動生成
      • create

        public static ORB create()
        The ORB constructor pyramid, where each next level has 4x less pixels than the previous, but such a big scale factor will degrade feature matching scores dramatically. On the other hand, too close to 1 scale factor will mean that to cover certain scale range you will need more pyramid levels and so the speed will suffer. input_image_linear_size/pow(scaleFactor, nlevels - firstLevel). roughly match the patchSize parameter. with upscaled source image. default value 2 means the BRIEF where we take a random point pair and compare their brightnesses, so we get 0/1 response. Other possible values are 3 and 4. For example, 3 means that we take 3 random points (of course, those point coordinates are random, but they are generated from the pre-defined seed, so each element of BRIEF descriptor is computed deterministically from the pixel rectangle), find point of maximum brightness and output index of the winner (0, 1 or 2). Such output will occupy 2 bits, and therefore it will need a special variant of Hamming distance, denoted as NORM_HAMMING2 (2 bits per bin). When WTA_K=4, we take 4 random points to compute each bin (that will also occupy 2 bits with possible values 0, 1, 2 or 3). (the score is written to KeyPoint::score and is used to retain best nfeatures features); FAST_SCORE is alternative value of the parameter that produces slightly less stable keypoints, but it is a little faster to compute. pyramid layers the perceived image area covered by a feature will be larger.
        戻り値:
        自動生成
      • setMaxFeatures

        public void setMaxFeatures​(int maxFeatures)
      • getMaxFeatures

        public int getMaxFeatures()
      • setScaleFactor

        public void setScaleFactor​(double scaleFactor)
      • getScaleFactor

        public double getScaleFactor()
      • setNLevels

        public void setNLevels​(int nlevels)
      • getNLevels

        public int getNLevels()
      • setEdgeThreshold

        public void setEdgeThreshold​(int edgeThreshold)
      • getEdgeThreshold

        public int getEdgeThreshold()
      • setFirstLevel

        public void setFirstLevel​(int firstLevel)
      • getFirstLevel

        public int getFirstLevel()
      • setWTA_K

        public void setWTA_K​(int wta_k)
      • getWTA_K

        public int getWTA_K()
      • setScoreType

        public void setScoreType​(int scoreType)
      • getScoreType

        public int getScoreType()
      • setPatchSize

        public void setPatchSize​(int patchSize)
      • getPatchSize

        public int getPatchSize()
      • setFastThreshold

        public void setFastThreshold​(int fastThreshold)
      • getFastThreshold

        public int getFastThreshold()
      • getDefaultName

        public java.lang.String getDefaultName()
        Description copied from class: Algorithm
        Returns the algorithm string identifier. This string is used as top level xml/yml node tag when the object is saved to a file or string.
        オーバーライド:
        クラス Feature2D 内の getDefaultName
        戻り値:
        自動生成