OpenCV 4.13.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。

詳細説明

クラス

class  cv::cuda::DisparityBilateralFilter
 ジョイントバイラテラルフィルタリングを用いて視差マップを精細化するクラス。 : 続き...
 
class  cv::cuda::StereoBeliefPropagation
 確信度伝播(belief propagation)アルゴリズムを用いてステレオ対応を計算するクラス。 : 続き...
 
class  cv::cuda::StereoBM
 ブロックマッチングアルゴリズムを用いてステレオ対応(視差マップ)を計算するクラス。 : 続き...
 
class  cv::cuda::StereoConstantSpaceBP
 定数空間確信度伝播(constant space belief propagation)アルゴリズムを用いてステレオ対応を計算するクラス。 : 続き...
 
class  cv::cuda::StereoSGM
 H. Hirschmullerのアルゴリズムを改変したものを実装したクラス [129]。制限と相違点は以下のとおり: 続き...
 

関数

Ptr< cuda::DisparityBilateralFiltercv::cuda::createDisparityBilateralFilter (int ndisp=64, int radius=3, int iters=1)
 DisparityBilateralFilterオブジェクトを生成する。
 
Ptr< cuda::StereoBeliefPropagationcv::cuda::createStereoBeliefPropagation (int ndisp=64, int iters=5, int levels=5, int msg_type=CV_32F)
 StereoBeliefPropagation オブジェクトを生成する。
 
Ptr< cuda::StereoBMcv::cuda::createStereoBM (int numDisparities=64, int blockSize=19)
 StereoBM オブジェクトを生成する。
 
Ptr< cuda::StereoConstantSpaceBPcv::cuda::createStereoConstantSpaceBP (int ndisp=128, int iters=8, int levels=4, int nr_plane=4, int msg_type=CV_32F)
 StereoConstantSpaceBP オブジェクトを生成する。
 
Ptr< cuda::StereoSGMcv::cuda::createStereoSGM (int minDisparity=0, int numDisparities=128, int P1=10, int P2=120, int uniquenessRatio=5, int mode=cv::cuda::StereoSGM::MODE_HH4)
 StereoSGM オブジェクトを生成する。
 
void cv::cuda::drawColorDisp (InputArray src_disp, OutputArray dst_disp, int ndisp, Stream &stream=Stream::Null())
 視差画像に色付けを行う。
 
void cv::cuda::reprojectImageTo3D (GpuMat disp, GpuMat &xyzw, Mat Q, int dst_cn=4, Stream &stream=Stream::Null())
 
void cv::cuda::reprojectImageTo3D (InputArray disp, OutputArray xyzw, InputArray Q, int dst_cn=4, Stream &stream=Stream::Null())
 視差画像を3D空間へ再投影する。
 

関数詳解

◆ createDisparityBilateralFilter()

Ptr< cuda::DisparityBilateralFilter > cv::cuda::createDisparityBilateralFilter ( int ndisp = 64,
int radius = 3,
int iters = 1 )

#include <opencv2/cudastereo.hpp>

DisparityBilateralFilterオブジェクトを作成する。

引数
ndisp視差の数。
radiusFilterの半径。
iters反復回数。

◆ createStereoBeliefPropagation()

Ptr< cuda::StereoBeliefPropagation > cv::cuda::createStereoBeliefPropagation ( int ndisp = 64,
int iters = 5,
int levels = 5,
int msg_type = CV_32F )

#include <opencv2/cudastereo.hpp>

StereoBeliefPropagationオブジェクトを作成する。

引数
ndisp視差の数。
iters各レベルでのBP反復の回数。
levelsレベルの数。
msg_typeメッセージの型。CV_16SC1とCV_32FC1型がサポートされている。

◆ createStereoBM()

Ptr< cuda::StereoBM > cv::cuda::createStereoBM ( int numDisparities = 64,
int blockSize = 19 )

#include <opencv2/cudastereo.hpp>

StereoBMオブジェクトを作成する。

引数
numDisparities視差の探索範囲。各ピクセルについて、アルゴリズムは0(デフォルトの最小視差)からnumDisparitiesまでの範囲で最適な視差を探索する。最小視差を変更することで、探索範囲をシフトできる。
blockSizeアルゴリズムが比較するブロックの一辺の長さ。ブロックは現在のピクセルを中心とするため、サイズは奇数でなければならない。ブロックサイズを大きくすると、視差マップは滑らかになるが精度は低下する。ブロックサイズを小さくすると、より詳細な視差マップが得られるが、アルゴリズムが誤った対応を見つける可能性が高くなる。

◆ createStereoConstantSpaceBP()

Ptr< cuda::StereoConstantSpaceBP > cv::cuda::createStereoConstantSpaceBP ( int ndisp = 128,
int iters = 8,
int levels = 4,
int nr_plane = 4,
int msg_type = CV_32F )

#include <opencv2/cudastereo.hpp>

StereoConstantSpaceBPオブジェクトを作成する。

引数
ndisp視差の数。
iters各レベルでのBP反復の回数。
levelsレベルの数。
nr_plane最初のレベルでの視差レベルの数。
msg_typeメッセージの型。CV_16SC1とCV_32FC1型がサポートされている。

◆ createStereoSGM()

Ptr< cuda::StereoSGM > cv::cuda::createStereoSGM ( int minDisparity = 0,
int numDisparities = 128,
int P1 = 10,
int P2 = 120,
int uniquenessRatio = 5,
int mode = cv::cuda::StereoSGM::MODE_HH4 )

#include <opencv2/cudastereo.hpp>

StereoSGMオブジェクトを作成する。

引数
minDisparity最小視差値。通常はゼロだが、レクティフィケーションアルゴリズムが画像をシフトすることがあるため、それに応じてこの引数を調整する必要がある。
numDisparities最大視差から最小視差を引いた値。値は64、128、または256でなければならない。
P1視差の滑らかさを制御する第1引数。この引数は傾斜面(フロントパラレルでない面)の場合に使用される。
P2視差の滑らかさを制御する2番目の引数。この引数は奥行きの不連続性の問題を「解決」するために使われる。
uniquenessRatio見つかったマッチを正しいと見なすために、計算されたコスト関数の最良(最小)値が次に良い値に対して「勝つ」べきマージン(パーセンテージ)。通常、5-15の範囲の値で十分である。
modeフルスケールの2パス動的計画法アルゴリズムを実行するにはStereoSGM::MODE_HHに設定する。これはO(W*H*numDisparities)バイトを消費する。デフォルトではStereoSGM::MODE_HH4に設定されている。

◆ drawColorDisp()

void cv::cuda::drawColorDisp ( InputArray src_disp,
OutputArray dst_disp,
int ndisp,
Stream & stream = Stream::Null() )

#include <opencv2/cudastereo.hpp>

視差画像に色を付ける。

引数
src_disp入力のシングルチャンネル 8ビット符号なし、16ビット符号付き、32ビット符号付き、または32ビット浮動小数点の視差画像。16ビット符号付き形式が使われる場合、値は小数部のビットを持たないとみなされる。
dst_disp出力の視差画像。src_dispと同じサイズを持つ。型はBGRA形式のCV_8UC4である(alpha = 255)。
ndisp視差の数。
stream非同期版のための Stream

この関数は、視差値をまず [0..ndisp) の区間からHSV色空間(異なる視差値が異なる色相に対応する)へ変換し、続いてピクセルを可視化のためにRGBへ変換することで、カラーの視差マップを描画する。

◆ reprojectImageTo3D() [1/2]

void cv::cuda::reprojectImageTo3D ( GpuMat disp,
GpuMat & xyzw,
Mat Q,
int dst_cn = 4,
Stream & stream = Stream::Null() )
inline

#include <opencv2/cudastereo.hpp>

この関数の呼び出しグラフ:

◆ reprojectImageTo3D() [2/2]

void cv::cuda::reprojectImageTo3D ( InputArray disp,
OutputArray xyzw,
InputArray Q,
int dst_cn = 4,
Stream & stream = Stream::Null() )

#include <opencv2/cudastereo.hpp>

視差画像を 3D 空間に再投影する。

引数
disp入力のシングルチャンネル 8ビット符号なし、16ビット符号付き、32ビット符号付き、または32ビット浮動小数点の視差画像。16ビット符号付き形式が使われる場合、値は小数部のビットを持たないとみなされる。
xyzwdisp と同じサイズの出力3または4チャンネル浮動小数点画像。xyzw(x,y)の各要素は、視差マップから計算された点 (x,y) の3D座標 (x,y,z) または (x,y,z,1) を含む。
QstereoRectify によって取得できる \(4 \times 4\) の透視変換行列。
dst_cn出力画像のチャンネル数。3または4にできる。
stream非同期版のための Stream
参照
reprojectImageTo3D