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

クラス StereoSGBM


  • public class StereoSGBM
    extends StereoMatcher
    The class implements the modified H. Hirschmuller algorithm CITE: HH08 that differs from the original one as follows:
    • デフォルトでは、アルゴリズムはシングルパスであり、8方向ではなく5方向のみを考慮する。createStereoSGBMでmode=StereoSGBM::MODE_HHを設定するとアルゴリズムの完全版が実行されるが、大量のメモリを消費する可能性があることに注意する。
    • このアルゴリズムは個々のピクセルではなくブロック単位でマッチングを行う。ただし、blockSize=1を設定するとブロックは単一ピクセルに縮小される。
    • 相互情報量コスト関数は実装されていない。代わりに、CITE: BT98のより単純なBirchfield-Tomasiサブピクセル指標が使用される。ただし、カラー画像もサポートされている。
    • K. KonoligeのアルゴリズムStereoBMの前処理・後処理ステップの一部が含まれている。例えば、前処理フィルタリング(StereoBM::PREFILTER_XSOBEL型)や後処理フィルタリング(一意性チェック、二次補間、スペックルフィルタリング)などである。
    覚え書き:
    • (Python) StereoSGBMマッチングアルゴリズムの使用例はopencv_source_code/samples/python/stereo_match.pyにある。
    • コンストラクタの詳細

      • StereoSGBM

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

      • __fromPtr__

        public static StereoSGBM __fromPtr__​(long addr)
      • getPreFilterCap

        public int getPreFilterCap()
      • setPreFilterCap

        public void setPreFilterCap​(int preFilterCap)
      • getUniquenessRatio

        public int getUniquenessRatio()
      • setUniquenessRatio

        public void setUniquenessRatio​(int uniquenessRatio)
      • getP1

        public int getP1()
      • setP1

        public void setP1​(int P1)
      • getP2

        public int getP2()
      • setP2

        public void setP2​(int P2)
      • getMode

        public int getMode()
      • setMode

        public void setMode​(int mode)
      • create

        public static StereoSGBM create​(int minDisparity,
                                        int numDisparities,
                                        int blockSize,
                                        int P1,
                                        int P2,
                                        int disp12MaxDiff,
                                        int preFilterCap,
                                        int uniquenessRatio,
                                        int speckleWindowSize,
                                        int speckleRange,
                                        int mode)
        Creates StereoSGBM object
        引数:
        minDisparity - 取りうる最小の視差値。通常は0だが、平行化アルゴリズムが画像をシフトする場合があるため、このパラメータをそれに応じて調整する必要がある。
        numDisparities - 最大視差から最小視差を引いた値。この値は常に0より大きい。現在の実装では、このパラメータは16で割り切れなければならない。
        blockSize - マッチングするブロックのサイズ。>=1の奇数でなければならない。通常は3..11の範囲のどこかに設定する。
        P1 - 視差の滑らかさを制御する第1のパラメータ。下記参照。
        P2 - 視差の滑らかさを制御する第2のパラメータ。値が大きいほど視差は滑らかになる。P1は隣接ピクセル間で視差がプラスマイナス1変化する場合のペナルティ、P2は隣接ピクセル間で視差が1より大きく変化する場合のペナルティである。アルゴリズムはP2 > P1を要求する。妥当なP1とP2の値が示されているstereo_match.cppサンプルを参照(それぞれ8\*number_of_image_channels\*blockSize\*blockSizeと32\*number_of_image_channels\*blockSize\*blockSizeなど)。
        disp12MaxDiff - 左右視差チェックで許容される最大の差(整数ピクセル単位)。チェックを無効にするには非正の値を設定する。
        preFilterCap - 前処理フィルタを適用した画像ピクセルの切り詰め値。アルゴリズムはまず各ピクセルでx方向の微分を計算し、その値を[-preFilterCap, preFilterCap]の区間でクリップする。その結果の値がBirchfield-Tomasiピクセルコスト関数に渡される。
        uniquenessRatio - 見つかったマッチを正しいとみなすために、最良(最小)の計算コスト関数値が2番目に良い値に対して「勝つ」べきパーセンテージのマージン。通常は5-15の範囲の値で十分である。
        speckleWindowSize - ノイズスペックルとみなして無効化する、滑らかな視差領域の最大サイズ。スペックルフィルタリングを無効にするには0に設定する。それ以外の場合は50-200の範囲のどこかに設定する。
        speckleRange - 各連結成分内で許容される最大の視差変動。スペックルフィルタリングを行う場合は正の値に設定する。この値は暗黙的に16倍される。通常は1または2で十分である。
        mode - フルスケールの2パス動的計画法アルゴリズムを実行するにはStereoSGBM::MODE_HHに設定する。O(W\*H\*numDisparities)バイトを消費し、640x480のステレオでは大きく、HDサイズの画像では膨大になる。デフォルトではfalseに設定される。第1のコンストラクタはStereoSGBMをすべてのデフォルトパラメータで初期化する。そのため、最低限StereoSGBM::numDisparitiesだけを設定すればよい。第2のコンストラクタでは各パラメータをカスタム値に設定できる。
        戻り値:
        自動生成
      • create

        public static StereoSGBM create​(int minDisparity,
                                        int numDisparities,
                                        int blockSize,
                                        int P1,
                                        int P2,
                                        int disp12MaxDiff,
                                        int preFilterCap,
                                        int uniquenessRatio,
                                        int speckleWindowSize,
                                        int speckleRange)
        Creates StereoSGBM object
        引数:
        minDisparity - 取りうる最小の視差値。通常は0だが、平行化アルゴリズムが画像をシフトする場合があるため、このパラメータをそれに応じて調整する必要がある。
        numDisparities - 最大視差から最小視差を引いた値。この値は常に0より大きい。現在の実装では、このパラメータは16で割り切れなければならない。
        blockSize - マッチングするブロックのサイズ。>=1の奇数でなければならない。通常は3..11の範囲のどこかに設定する。
        P1 - 視差の滑らかさを制御する第1のパラメータ。下記参照。
        P2 - 視差の滑らかさを制御する第2のパラメータ。値が大きいほど視差は滑らかになる。P1は隣接ピクセル間で視差がプラスマイナス1変化する場合のペナルティ、P2は隣接ピクセル間で視差が1より大きく変化する場合のペナルティである。アルゴリズムはP2 > P1を要求する。妥当なP1とP2の値が示されているstereo_match.cppサンプルを参照(それぞれ8\*number_of_image_channels\*blockSize\*blockSizeと32\*number_of_image_channels\*blockSize\*blockSizeなど)。
        disp12MaxDiff - 左右視差チェックで許容される最大の差(整数ピクセル単位)。チェックを無効にするには非正の値を設定する。
        preFilterCap - 前処理フィルタを適用した画像ピクセルの切り詰め値。アルゴリズムはまず各ピクセルでx方向の微分を計算し、その値を[-preFilterCap, preFilterCap]の区間でクリップする。その結果の値がBirchfield-Tomasiピクセルコスト関数に渡される。
        uniquenessRatio - 見つかったマッチを正しいとみなすために、最良(最小)の計算コスト関数値が2番目に良い値に対して「勝つ」べきパーセンテージのマージン。通常は5-15の範囲の値で十分である。
        speckleWindowSize - ノイズスペックルとみなして無効化する、滑らかな視差領域の最大サイズ。スペックルフィルタリングを無効にするには0に設定する。それ以外の場合は50-200の範囲のどこかに設定する。
        speckleRange - 各連結成分内で許容される最大の視差変動。スペックルフィルタリングを行う場合は正の値に設定する。この値は暗黙的に16倍される。通常は1または2で十分である。O(W\*H\*numDisparities)バイトを消費し、640x480のステレオでは大きく、HDサイズの画像では膨大になる。デフォルトではfalseに設定される。第1のコンストラクタはStereoSGBMをすべてのデフォルトパラメータで初期化する。そのため、最低限StereoSGBM::numDisparitiesだけを設定すればよい。第2のコンストラクタでは各パラメータをカスタム値に設定できる。
        戻り値:
        自動生成
      • create

        public static StereoSGBM create​(int minDisparity,
                                        int numDisparities,
                                        int blockSize,
                                        int P1,
                                        int P2,
                                        int disp12MaxDiff,
                                        int preFilterCap,
                                        int uniquenessRatio,
                                        int speckleWindowSize)
        Creates StereoSGBM object
        引数:
        minDisparity - 取りうる最小の視差値。通常は0だが、平行化アルゴリズムが画像をシフトする場合があるため、このパラメータをそれに応じて調整する必要がある。
        numDisparities - 最大視差から最小視差を引いた値。この値は常に0より大きい。現在の実装では、このパラメータは16で割り切れなければならない。
        blockSize - マッチングするブロックのサイズ。>=1の奇数でなければならない。通常は3..11の範囲のどこかに設定する。
        P1 - 視差の滑らかさを制御する第1のパラメータ。下記参照。
        P2 - 視差の滑らかさを制御する第2のパラメータ。値が大きいほど視差は滑らかになる。P1は隣接ピクセル間で視差がプラスマイナス1変化する場合のペナルティ、P2は隣接ピクセル間で視差が1より大きく変化する場合のペナルティである。アルゴリズムはP2 > P1を要求する。妥当なP1とP2の値が示されているstereo_match.cppサンプルを参照(それぞれ8\*number_of_image_channels\*blockSize\*blockSizeと32\*number_of_image_channels\*blockSize\*blockSizeなど)。
        disp12MaxDiff - 左右視差チェックで許容される最大の差(整数ピクセル単位)。チェックを無効にするには非正の値を設定する。
        preFilterCap - 前処理フィルタを適用した画像ピクセルの切り詰め値。アルゴリズムはまず各ピクセルでx方向の微分を計算し、その値を[-preFilterCap, preFilterCap]の区間でクリップする。その結果の値がBirchfield-Tomasiピクセルコスト関数に渡される。
        uniquenessRatio - 見つかったマッチを正しいとみなすために、最良(最小)の計算コスト関数値が2番目に良い値に対して「勝つ」べきパーセンテージのマージン。通常は5-15の範囲の値で十分である。
        speckleWindowSize - ノイズスペックルとみなして無効化する、滑らかな視差領域の最大サイズ。スペックルフィルタリングを無効にするには0に設定する。それ以外の場合は50-200の範囲のどこかに設定する。フィルタリングを行う場合は正の値に設定すると、暗黙的に16倍される。通常は1または2で十分である。O(W\*H\*numDisparities)バイトを消費し、640x480のステレオでは大きく、HDサイズの画像では膨大になる。デフォルトではfalseに設定される。第1のコンストラクタはStereoSGBMをすべてのデフォルトパラメータで初期化する。そのため、最低限StereoSGBM::numDisparitiesだけを設定すればよい。第2のコンストラクタでは各パラメータをカスタム値に設定できる。
        戻り値:
        自動生成
      • create

        public static StereoSGBM create​(int minDisparity,
                                        int numDisparities,
                                        int blockSize,
                                        int P1,
                                        int P2,
                                        int disp12MaxDiff,
                                        int preFilterCap,
                                        int uniquenessRatio)
        Creates StereoSGBM object
        引数:
        minDisparity - 取りうる最小の視差値。通常は0だが、平行化アルゴリズムが画像をシフトする場合があるため、このパラメータをそれに応じて調整する必要がある。
        numDisparities - 最大視差から最小視差を引いた値。この値は常に0より大きい。現在の実装では、このパラメータは16で割り切れなければならない。
        blockSize - マッチングするブロックのサイズ。>=1の奇数でなければならない。通常は3..11の範囲のどこかに設定する。
        P1 - 視差の滑らかさを制御する第1のパラメータ。下記参照。
        P2 - 視差の滑らかさを制御する第2のパラメータ。値が大きいほど視差は滑らかになる。P1は隣接ピクセル間で視差がプラスマイナス1変化する場合のペナルティ、P2は隣接ピクセル間で視差が1より大きく変化する場合のペナルティである。アルゴリズムはP2 > P1を要求する。妥当なP1とP2の値が示されているstereo_match.cppサンプルを参照(それぞれ8\*number_of_image_channels\*blockSize\*blockSizeと32\*number_of_image_channels\*blockSize\*blockSizeなど)。
        disp12MaxDiff - 左右視差チェックで許容される最大の差(整数ピクセル単位)。チェックを無効にするには非正の値を設定する。
        preFilterCap - 前処理フィルタを適用した画像ピクセルの切り詰め値。アルゴリズムはまず各ピクセルでx方向の微分を計算し、その値を[-preFilterCap, preFilterCap]の区間でクリップする。その結果の値がBirchfield-Tomasiピクセルコスト関数に渡される。
        uniquenessRatio - 見つかったマッチを正しいとみなすために、最良(最小)の計算コスト関数値が2番目に良い値に対して「勝つ」べきパーセンテージのマージン。通常は5-15の範囲の値で十分である。無効化する。スペックルフィルタリングを無効にするには0に設定する。それ以外の場合は50-200の範囲のどこかに設定する。フィルタリングを行う場合は正の値に設定すると、暗黙的に16倍される。通常は1または2で十分である。O(W\*H\*numDisparities)バイトを消費し、640x480のステレオでは大きく、HDサイズの画像では膨大になる。デフォルトではfalseに設定される。第1のコンストラクタはStereoSGBMをすべてのデフォルトパラメータで初期化する。そのため、最低限StereoSGBM::numDisparitiesだけを設定すればよい。第2のコンストラクタでは各パラメータをカスタム値に設定できる。
        戻り値:
        自動生成
      • create

        public static StereoSGBM create​(int minDisparity,
                                        int numDisparities,
                                        int blockSize,
                                        int P1,
                                        int P2,
                                        int disp12MaxDiff,
                                        int preFilterCap)
        Creates StereoSGBM object
        引数:
        minDisparity - 取りうる最小の視差値。通常は0だが、平行化アルゴリズムが画像をシフトする場合があるため、このパラメータをそれに応じて調整する必要がある。
        numDisparities - 最大視差から最小視差を引いた値。この値は常に0より大きい。現在の実装では、このパラメータは16で割り切れなければならない。
        blockSize - マッチングするブロックのサイズ。>=1の奇数でなければならない。通常は3..11の範囲のどこかに設定する。
        P1 - 視差の滑らかさを制御する第1のパラメータ。下記参照。
        P2 - 視差の滑らかさを制御する第2のパラメータ。値が大きいほど視差は滑らかになる。P1は隣接ピクセル間で視差がプラスマイナス1変化する場合のペナルティ、P2は隣接ピクセル間で視差が1より大きく変化する場合のペナルティである。アルゴリズムはP2 > P1を要求する。妥当なP1とP2の値が示されているstereo_match.cppサンプルを参照(それぞれ8\*number_of_image_channels\*blockSize\*blockSizeと32\*number_of_image_channels\*blockSize\*blockSizeなど)。
        disp12MaxDiff - 左右視差チェックで許容される最大の差(整数ピクセル単位)。チェックを無効にするには非正の値を設定する。
        preFilterCap - 前処理フィルタを適用した画像ピクセルの切り詰め値。アルゴリズムはまず各ピクセルでx方向の微分を計算し、その値を[-preFilterCap, preFilterCap]の区間でクリップする。その結果の値がBirchfield-Tomasiピクセルコスト関数に渡される。値が2番目に良い値に対して「勝つ」べきで、見つかったマッチを正しいとみなす。通常は5-15の範囲の値で十分である。無効化する。スペックルフィルタリングを無効にするには0に設定する。それ以外の場合は50-200の範囲のどこかに設定する。フィルタリングを行う場合は正の値に設定すると、暗黙的に16倍される。通常は1または2で十分である。O(W\*H\*numDisparities)バイトを消費し、640x480のステレオでは大きく、HDサイズの画像では膨大になる。デフォルトではfalseに設定される。第1のコンストラクタはStereoSGBMをすべてのデフォルトパラメータで初期化する。そのため、最低限StereoSGBM::numDisparitiesだけを設定すればよい。第2のコンストラクタでは各パラメータをカスタム値に設定できる。
        戻り値:
        自動生成
      • create

        public static StereoSGBM create​(int minDisparity,
                                        int numDisparities,
                                        int blockSize,
                                        int P1,
                                        int P2,
                                        int disp12MaxDiff)
        Creates StereoSGBM object
        引数:
        minDisparity - 取りうる最小の視差値。通常は0だが、平行化アルゴリズムが画像をシフトする場合があるため、このパラメータをそれに応じて調整する必要がある。
        numDisparities - 最大視差から最小視差を引いた値。この値は常に0より大きい。現在の実装では、このパラメータは16で割り切れなければならない。
        blockSize - マッチングするブロックのサイズ。>=1の奇数でなければならない。通常は3..11の範囲のどこかに設定する。
        P1 - 視差の滑らかさを制御する第1のパラメータ。下記参照。
        P2 - 視差の滑らかさを制御する第2のパラメータ。値が大きいほど視差は滑らかになる。P1は隣接ピクセル間で視差がプラスマイナス1変化する場合のペナルティ、P2は隣接ピクセル間で視差が1より大きく変化する場合のペナルティである。アルゴリズムはP2 > P1を要求する。妥当なP1とP2の値が示されているstereo_match.cppサンプルを参照(それぞれ8\*number_of_image_channels\*blockSize\*blockSizeと32\*number_of_image_channels\*blockSize\*blockSizeなど)。
        disp12MaxDiff - 左右視差チェックで許容される最大の差(整数ピクセル単位)。チェックを無効にするには非正の値を設定する。各ピクセルでx方向の微分を計算し、その値を[-preFilterCap, preFilterCap]の区間でクリップする。その結果の値がBirchfield-Tomasiピクセルコスト関数に渡される。値が2番目に良い値に対して「勝つ」べきで、見つかったマッチを正しいとみなす。通常は5-15の範囲の値で十分である。無効化する。スペックルフィルタリングを無効にするには0に設定する。それ以外の場合は50-200の範囲のどこかに設定する。フィルタリングを行う場合は正の値に設定すると、暗黙的に16倍される。通常は1または2で十分である。O(W\*H\*numDisparities)バイトを消費し、640x480のステレオでは大きく、HDサイズの画像では膨大になる。デフォルトではfalseに設定される。第1のコンストラクタはStereoSGBMをすべてのデフォルトパラメータで初期化する。そのため、最低限StereoSGBM::numDisparitiesだけを設定すればよい。第2のコンストラクタでは各パラメータをカスタム値に設定できる。
        戻り値:
        自動生成
      • create

        public static StereoSGBM create​(int minDisparity,
                                        int numDisparities,
                                        int blockSize,
                                        int P1,
                                        int P2)
        Creates StereoSGBM object
        引数:
        minDisparity - 取りうる最小の視差値。通常は0だが、平行化アルゴリズムが画像をシフトする場合があるため、このパラメータをそれに応じて調整する必要がある。
        numDisparities - 最大視差から最小視差を引いた値。この値は常に0より大きい。現在の実装では、このパラメータは16で割り切れなければならない。
        blockSize - マッチングするブロックのサイズ。>=1の奇数でなければならない。通常は3..11の範囲のどこかに設定する。
        P1 - 視差の滑らかさを制御する第1のパラメータ。下記参照。
        P2 - 視差の滑らかさを制御する第2のパラメータ。値が大きいほど視差は滑らかになる。P1は隣接ピクセル間で視差がプラスマイナス1変化する場合のペナルティ、P2は隣接ピクセル間で視差が1より大きく変化する場合のペナルティである。アルゴリズムはP2 > P1を要求する。妥当なP1とP2の値が示されているstereo_match.cppサンプルを参照(それぞれ8\*number_of_image_channels\*blockSize\*blockSizeと32\*number_of_image_channels\*blockSize\*blockSizeなど)。視差チェック。チェックを無効にするには非正の値を設定する。各ピクセルでx方向の微分を計算し、その値を[-preFilterCap, preFilterCap]の区間でクリップする。その結果の値がBirchfield-Tomasiピクセルコスト関数に渡される。値が2番目に良い値に対して「勝つ」べきで、見つかったマッチを正しいとみなす。通常は5-15の範囲の値で十分である。無効化する。スペックルフィルタリングを無効にするには0に設定する。それ以外の場合は50-200の範囲のどこかに設定する。フィルタリングを行う場合は正の値に設定すると、暗黙的に16倍される。通常は1または2で十分である。O(W\*H\*numDisparities)バイトを消費し、640x480のステレオでは大きく、HDサイズの画像では膨大になる。デフォルトではfalseに設定される。第1のコンストラクタはStereoSGBMをすべてのデフォルトパラメータで初期化する。そのため、最低限StereoSGBM::numDisparitiesだけを設定すればよい。第2のコンストラクタでは各パラメータをカスタム値に設定できる。
        戻り値:
        自動生成
      • create

        public static StereoSGBM create​(int minDisparity,
                                        int numDisparities,
                                        int blockSize,
                                        int P1)
        Creates StereoSGBM object
        引数:
        minDisparity - 取りうる最小の視差値。通常は0だが、平行化アルゴリズムが画像をシフトする場合があるため、このパラメータをそれに応じて調整する必要がある。
        numDisparities - 最大視差から最小視差を引いた値。この値は常に0より大きい。現在の実装では、このパラメータは16で割り切れなければならない。
        blockSize - マッチングするブロックのサイズ。>=1の奇数でなければならない。通常は3..11の範囲のどこかに設定する。
        P1 - 視差の滑らかさを制御する第1のパラメータ。下記参照。視差は滑らかになる。P1は隣接ピクセル間で視差がプラスマイナス1変化する場合のペナルティ、P2は隣接ピクセル間で視差が1より大きく変化する場合のペナルティである。アルゴリズムはP2 > P1を要求する。妥当なP1とP2の値が示されているstereo_match.cppサンプルを参照(それぞれ8\*number_of_image_channels\*blockSize\*blockSizeと32\*number_of_image_channels\*blockSize\*blockSizeなど)。視差チェック。チェックを無効にするには非正の値を設定する。各ピクセルでx方向の微分を計算し、その値を[-preFilterCap, preFilterCap]の区間でクリップする。その結果の値がBirchfield-Tomasiピクセルコスト関数に渡される。値が2番目に良い値に対して「勝つ」べきで、見つかったマッチを正しいとみなす。通常は5-15の範囲の値で十分である。無効化する。スペックルフィルタリングを無効にするには0に設定する。それ以外の場合は50-200の範囲のどこかに設定する。フィルタリングを行う場合は正の値に設定すると、暗黙的に16倍される。通常は1または2で十分である。O(W\*H\*numDisparities)バイトを消費し、640x480のステレオでは大きく、HDサイズの画像では膨大になる。デフォルトではfalseに設定される。第1のコンストラクタはStereoSGBMをすべてのデフォルトパラメータで初期化する。そのため、最低限StereoSGBM::numDisparitiesだけを設定すればよい。第2のコンストラクタでは各パラメータをカスタム値に設定できる。
        戻り値:
        自動生成
      • create

        public static StereoSGBM create​(int minDisparity,
                                        int numDisparities,
                                        int blockSize)
        Creates StereoSGBM object
        引数:
        minDisparity - 取りうる最小の視差値。通常は0だが、平行化アルゴリズムが画像をシフトする場合があるため、このパラメータをそれに応じて調整する必要がある。
        numDisparities - 最大視差から最小視差を引いた値。この値は常に0より大きい。現在の実装では、このパラメータは16で割り切れなければならない。
        blockSize - マッチングするブロックのサイズ。>=1の奇数でなければならない。通常は3..11の範囲のどこかに設定する。視差は滑らかになる。P1は隣接ピクセル間で視差がプラスマイナス1変化する場合のペナルティ、P2は隣接ピクセル間で視差が1より大きく変化する場合のペナルティである。アルゴリズムはP2 > P1を要求する。妥当なP1とP2の値が示されているstereo_match.cppサンプルを参照(それぞれ8\*number_of_image_channels\*blockSize\*blockSizeと32\*number_of_image_channels\*blockSize\*blockSizeなど)。視差チェック。チェックを無効にするには非正の値を設定する。各ピクセルでx方向の微分を計算し、その値を[-preFilterCap, preFilterCap]の区間でクリップする。その結果の値がBirchfield-Tomasiピクセルコスト関数に渡される。値が2番目に良い値に対して「勝つ」べきで、見つかったマッチを正しいとみなす。通常は5-15の範囲の値で十分である。無効化する。スペックルフィルタリングを無効にするには0に設定する。それ以外の場合は50-200の範囲のどこかに設定する。フィルタリングを行う場合は正の値に設定すると、暗黙的に16倍される。通常は1または2で十分である。O(W\*H\*numDisparities)バイトを消費し、640x480のステレオでは大きく、HDサイズの画像では膨大になる。デフォルトではfalseに設定される。第1のコンストラクタはStereoSGBMをすべてのデフォルトパラメータで初期化する。そのため、最低限StereoSGBM::numDisparitiesだけを設定すればよい。第2のコンストラクタでは各パラメータをカスタム値に設定できる。
        戻り値:
        自動生成
      • create

        public static StereoSGBM create​(int minDisparity,
                                        int numDisparities)
        Creates StereoSGBM object
        引数:
        minDisparity - 取りうる最小の視差値。通常は0だが、平行化アルゴリズムが画像をシフトする場合があるため、このパラメータをそれに応じて調整する必要がある。
        numDisparities - 最大視差から最小視差を引いた値。この値は常に0より大きい。現在の実装では、このパラメータは16で割り切れなければならない。3..11の範囲のどこか。視差は滑らかになる。P1は隣接ピクセル間で視差がプラスマイナス1変化する場合のペナルティ、P2は隣接ピクセル間で視差が1より大きく変化する場合のペナルティである。アルゴリズムはP2 > P1を要求する。妥当なP1とP2の値が示されているstereo_match.cppサンプルを参照(それぞれ8\*number_of_image_channels\*blockSize\*blockSizeと32\*number_of_image_channels\*blockSize\*blockSizeなど)。視差チェック。チェックを無効にするには非正の値を設定する。各ピクセルでx方向の微分を計算し、その値を[-preFilterCap, preFilterCap]の区間でクリップする。その結果の値がBirchfield-Tomasiピクセルコスト関数に渡される。値が2番目に良い値に対して「勝つ」べきで、見つかったマッチを正しいとみなす。通常は5-15の範囲の値で十分である。無効化する。スペックルフィルタリングを無効にするには0に設定する。それ以外の場合は50-200の範囲のどこかに設定する。フィルタリングを行う場合は正の値に設定すると、暗黙的に16倍される。通常は1または2で十分である。O(W\*H\*numDisparities)バイトを消費し、640x480のステレオでは大きく、HDサイズの画像では膨大になる。デフォルトではfalseに設定される。第1のコンストラクタはStereoSGBMをすべてのデフォルトパラメータで初期化する。そのため、最低限StereoSGBM::numDisparitiesだけを設定すればよい。第2のコンストラクタでは各パラメータをカスタム値に設定できる。
        戻り値:
        自動生成
      • create

        public static StereoSGBM create​(int minDisparity)
        Creates StereoSGBM object
        引数:
        minDisparity - 取りうる最小の視差値。通常は0だが、平行化アルゴリズムが画像をシフトする場合があるため、このパラメータをそれに応じて調整する必要がある。0。現在の実装では、このパラメータは16で割り切れなければならない。3..11の範囲のどこか。視差は滑らかになる。P1は隣接ピクセル間で視差がプラスマイナス1変化する場合のペナルティ、P2は隣接ピクセル間で視差が1より大きく変化する場合のペナルティである。アルゴリズムはP2 > P1を要求する。妥当なP1とP2の値が示されているstereo_match.cppサンプルを参照(それぞれ8\*number_of_image_channels\*blockSize\*blockSizeと32\*number_of_image_channels\*blockSize\*blockSizeなど)。視差チェック。チェックを無効にするには非正の値を設定する。各ピクセルでx方向の微分を計算し、その値を[-preFilterCap, preFilterCap]の区間でクリップする。その結果の値がBirchfield-Tomasiピクセルコスト関数に渡される。値が2番目に良い値に対して「勝つ」べきで、見つかったマッチを正しいとみなす。通常は5-15の範囲の値で十分である。無効化する。スペックルフィルタリングを無効にするには0に設定する。それ以外の場合は50-200の範囲のどこかに設定する。フィルタリングを行う場合は正の値に設定すると、暗黙的に16倍される。通常は1または2で十分である。O(W\*H\*numDisparities)バイトを消費し、640x480のステレオでは大きく、HDサイズの画像では膨大になる。デフォルトではfalseに設定される。第1のコンストラクタはStereoSGBMをすべてのデフォルトパラメータで初期化する。そのため、最低限StereoSGBM::numDisparitiesだけを設定すればよい。第2のコンストラクタでは各パラメータをカスタム値に設定できる。
        戻り値:
        自動生成
      • create

        public static StereoSGBM create()
        Creates StereoSGBM object rectification algorithms can shift images, so this parameter needs to be adjusted accordingly. zero. In the current implementation, this parameter must be divisible by 16. somewhere in the 3..11 range. the smoother the disparity is. P1 is the penalty on the disparity change by plus or minus 1 between neighbor pixels. P2 is the penalty on the disparity change by more than 1 between neighbor pixels. The algorithm requires P2 > P1 . See stereo_match.cpp sample where some reasonably good P1 and P2 values are shown (like 8\*number_of_image_channels\*blockSize\*blockSize and 32\*number_of_image_channels\*blockSize\*blockSize , respectively). disparity check. Set it to a non-positive value to disable the check. computes x-derivative at each pixel and clips its value by [-preFilterCap, preFilterCap] interval. The result values are passed to the Birchfield-Tomasi pixel cost function. value should "win" the second best value to consider the found match correct. Normally, a value within the 5-15 range is good enough. and invalidate. Set it to 0 to disable speckle filtering. Otherwise, set it somewhere in the 50-200 range. filtering, set the parameter to a positive value, it will be implicitly multiplied by 16. Normally, 1 or 2 is good enough. algorithm. It will consume O(W\*H\*numDisparities) bytes, which is large for 640x480 stereo and huge for HD-size pictures. By default, it is set to false . The first constructor initializes StereoSGBM with all the default parameters. So, you only have to set StereoSGBM::numDisparities at minimum. The second constructor enables you to set each parameter to a custom value.
        戻り値:
        自動生成