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

名前空間

namespace  device
 

クラス

class  BackgroundSubtractorFGD
 このクラスは、背景のモデルを構築・維持することで前景ピクセルと背景ピクセルを判別する。 続きを読む...
 
class  BackgroundSubtractorGMG
 背景/前景セグメンテーション (領域分割) Algorithm続きを読む...
 
class  BackgroundSubtractorMOG
 ガウス混合モデルに基づく背景/前景セグメンテーション (領域分割) Algorithm続きを読む...
 
class  BackgroundSubtractorMOG2
 ガウス混合モデルに基づく背景/前景セグメンテーション (領域分割) Algorithm続きを読む...
 
class  BroxOpticalFlow
 Brox et al.のオプティカルフローアルゴリズム ([44]) を用いて2枚の画像のオプティカルフローを計算するクラス。 続きを読む...
 
class  BufferPool
 CUDAストリームで使用するBufferPool続きを読む...
 
class  CannyEdgeDetector
 Canny エッジ検出器の基底クラス。: 続き...
 
class  CascadeClassifier
 物体検出に使用するカスケード分類器クラス。HAARおよびLBPカスケードをサポートする。: 続きを読む...
 
class  CLAHE
 コントラスト制限付き適応ヒストグラム平坦化 (Contrast Limited Adaptive Histogram Equalization) の基底クラス。: 続きを読む...
 
class  Convolution
 畳み込み(または相互相関)演算子の基底クラス。 : 続き...
 
class  CornernessCriteria
 コーナー性評価(Cornerness Criteria)計算の基底クラス。 : 続き...
 
class  CornersDetector
 コーナー検出器の基底クラス。 : 続き...
 
class  DenseOpticalFlow
 密なオプティカルフローアルゴリズムの基底インターフェース。 続き...
 
class  DensePyrLKOpticalFlow
 密なオプティカルフローを計算するためのクラス。 続き...
 
class  DescriptorMatcher
 キーポイント記述子をマッチングするための抽象基底クラス。 続き...
 
class  DeviceInfo
 指定したGPUのプロパティを照会する機能を提供するクラス。 続き...
 
class  DFT
 cv::Algorithmとして実装されたDFT演算子の基底クラス。 : 続き...
 
class  DisparityBilateralFilter
 ジョイントバイラテラルフィルタリングを用いて視差マップを精細化するクラス。 : 続き...
 
class  Event
 
struct  EventAccessor
 cuda::EventからcudaEvent_tを取得できるようにするクラス。 続き...
 
class  FarnebackOpticalFlow
 Gunnar Farnebackのアルゴリズムを用いて密なオプティカルフローを計算するクラス。 続き...
 
class  FastFeatureDetector
 FAST法を用いた特徴検出のためのラッパークラス。 続き...
 
class  FastOpticalFlowBM
 
class  Feature2DAsync
 CUDAによる非同期の2D画像特徴検出器および記述子抽出器の抽象基底クラス。 続き...
 
struct  FGDParams
 
class  Filter
 すべてのCUDAフィルタに共通のインターフェース : 続き...
 
struct  GpuData
 
class  GpuMat
 参照カウント付きのGPUメモリの基底ストレージクラス。 続き...
 
class  GpuMatND
 
class  HOG
 勾配方向ヒストグラム(HOG, [66])を用いた物体検出器を実装したクラス。 続き...
 
class  HostMem
 CUDAの特殊なメモリ型の確保関数をラップし、参照カウントを備えたクラス。 続き...
 
class  HoughCirclesDetector
 円検出アルゴリズムの基底クラス。 : 続き...
 
class  HoughLinesDetector
 直線検出アルゴリズムの基底クラス。 : 続き...
 
class  HoughSegmentDetector
 線分検出アルゴリズムの基底クラス。 : 続き...
 
class  ImagePyramid
 
class  LookUpTable
 ルックアップテーブルを用いた変換の基底クラス。 続き...
 
class  NvidiaHWOpticalFlow
 NVIDIA Optical Flow SDKを用いたオプティカルフローアルゴリズムの基底インターフェース。 続き...
 
class  NvidiaOpticalFlow_1_0
 NVIDIA Optical FlowハードウェアおよびOptical Flow SDK 1.0を用いて2枚の画像間のオプティカルフローベクトルを計算するクラス。 続き...
 
class  NvidiaOpticalFlow_2_0
 NVIDIA Optical FlowハードウェアおよびOptical Flow SDK 2.0を用いて2枚の画像間のオプティカルフローベクトルを計算するクラス。 続き...
 
class  OpticalFlowDual_TVL1
 Zach、Pock、BischofによるDual TV-L1オプティカルフロー法の実装。 続き...
 
class  ORB
 ORB (oriented BRIEF) キーポイント検出器および記述子抽出器を実装したクラス。 続き...
 
class  SparseOpticalFlow
 疎なオプティカルフローアルゴリズムの基底インターフェース。 続き...
 
class  SparsePyrLKOpticalFlow
 疎なオプティカルフローを計算するためのクラス。 続き...
 
class  StereoBeliefPropagation
 確信度伝播(belief propagation)アルゴリズムを用いてステレオ対応を計算するクラス。 : 続き...
 
class  StereoBM
 ブロックマッチングアルゴリズムを用いてステレオ対応(視差マップ)を計算するクラス。 : 続き...
 
class  StereoConstantSpaceBP
 定数空間確信度伝播(constant space belief propagation)アルゴリズムを用いてステレオ対応を計算するクラス。 : 続き...
 
class  StereoSGM
 このクラスは、修正版の H. Hirschmuller アルゴリズム [128] を実装する。制限と相違点は次のとおり:続きを読む...
 
class  Stream
 このクラスは非同期呼び出しのキューをカプセル化する。 続き...
 
struct  StreamAccessor
 cuda::StreamからcudaStream_tを取得できるようにするクラス。 続き...
 
class  SURF_CUDA
 画像からSpeeded Up Robust Features (SURF)を抽出するためのクラス。 : 続き...
 
class  TargetArchs
 CUDAモジュールがどのNVIDIA*カードアーキテクチャ向けにビルドされたかを確認するための一連の静的メソッドを提供するクラス。 続き...
 
class  TemplateMatching
 テンプレートマッチングの基底クラス。: 続き...
 

型定義

using IndexArray = GpuMatND::IndexArray
 
using SizeArray = GpuMatND::SizeArray
 
using StepArray = GpuMatND::StepArray
 

列挙型

enum  AlphaCompTypes {
  ALPHA_OVER ,
  ALPHA_IN ,
  ALPHA_OUT ,
  ALPHA_ATOP ,
  ALPHA_XOR ,
  ALPHA_PLUS ,
  ALPHA_OVER_PREMUL ,
  ALPHA_IN_PREMUL ,
  ALPHA_OUT_PREMUL ,
  ALPHA_ATOP_PREMUL ,
  ALPHA_XOR_PREMUL ,
  ALPHA_PLUS_PREMUL ,
  ALPHA_PREMUL
}
 
enum  ConnectedComponentsAlgorithmsTypes {
  CCL_DEFAULT = -1 ,
  CCL_BKE = 0
}
 連結成分(Connected Components)アルゴリズム。 続き...
 
enum  DemosaicTypes {
  COLOR_BayerBG2BGR_MHT = 256 ,
  COLOR_BayerGB2BGR_MHT = 257 ,
  COLOR_BayerRG2BGR_MHT = 258 ,
  COLOR_BayerGR2BGR_MHT = 259 ,
  COLOR_BayerBG2RGB_MHT = COLOR_BayerRG2BGR_MHT ,
  COLOR_BayerGB2RGB_MHT = COLOR_BayerGR2BGR_MHT ,
  COLOR_BayerRG2RGB_MHT = COLOR_BayerBG2BGR_MHT ,
  COLOR_BayerGR2RGB_MHT = COLOR_BayerGB2BGR_MHT ,
  COLOR_BayerBG2GRAY_MHT = 260 ,
  COLOR_BayerGB2GRAY_MHT = 261 ,
  COLOR_BayerRG2GRAY_MHT = 262 ,
  COLOR_BayerGR2GRAY_MHT = 263
}
 
enum  FeatureSet {
  FEATURE_SET_COMPUTE_10 = 10 ,
  FEATURE_SET_COMPUTE_11 = 11 ,
  FEATURE_SET_COMPUTE_12 = 12 ,
  FEATURE_SET_COMPUTE_13 = 13 ,
  FEATURE_SET_COMPUTE_20 = 20 ,
  FEATURE_SET_COMPUTE_21 = 21 ,
  FEATURE_SET_COMPUTE_30 = 30 ,
  FEATURE_SET_COMPUTE_32 = 32 ,
  FEATURE_SET_COMPUTE_35 = 35 ,
  FEATURE_SET_COMPUTE_50 = 50 ,
  GLOBAL_ATOMICS = FEATURE_SET_COMPUTE_11 ,
  SHARED_ATOMICS = FEATURE_SET_COMPUTE_12 ,
  NATIVE_DOUBLE = FEATURE_SET_COMPUTE_13 ,
  WARP_SHUFFLE_FUNCTIONS = FEATURE_SET_COMPUTE_30 ,
  DYNAMIC_PARALLELISM = FEATURE_SET_COMPUTE_35
}
 CUDAの計算機能を示す列挙型。 続き...
 
enum  MomentsOrder {
  FIRST_ORDER_MOMENTS = 1 ,
  SECOND_ORDER_MOMENTS = 2 ,
  THIRD_ORDER_MOMENTS = 3
}
 画像モーメントの次数。 続き...
 

関数

void abs (InputArray src, OutputArray dst, Stream &stream=Stream::Null())
 行列の各要素の絶対値を計算する。
 
void absdiff (InputArray src1, InputArray src2, OutputArray dst, Stream &stream=Stream::Null())
 2つの行列(または行列とスカラー)の要素ごとの絶対差を計算する。
 
void absdiffWithScalar (InputArray src1, Scalar src2, OutputArray dst, Stream &stream=Stream::Null())
 行列とスカラーの要素ごとの絶対差を計算する。
 
Scalar absSum (InputArray src, InputArray mask=noArray())
 行列要素の絶対値の総和を返す。
 
void add (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1, Stream &stream=Stream::Null())
 行列同士または行列とスカラーの和を計算する。
 
void addWeighted (InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray dst, int dtype=-1, Stream &stream=Stream::Null())
 2つの配列の加重和を計算する。
 
void addWithScalar (InputArray src1, Scalar src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1, Stream &stream=Stream::Null())
 行列とスカラーの和を計算する。
 
void alphaComp (InputArray img1, InputArray img2, OutputArray dst, int alpha_op, Stream &stream=Stream::Null())
 各画像に含まれるアルファ不透明度の値を用いて2枚の画像を合成する。
 
void bilateralFilter (InputArray src, OutputArray dst, int kernel_size, float sigma_color, float sigma_spatial, int borderMode=BORDER_DEFAULT, Stream &stream=Stream::Null())
 渡された画像にバイラテラルフィルタリングを実行する。
 
void bitwise_and (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null())
 2つの行列(または行列とスカラー)の要素ごとのビット単位論理積を実行する。
 
void bitwise_and_with_scalar (InputArray src1, Scalar src2, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null())
 行列とスカラーの要素ごとのビット単位論理積を実行する。
 
void bitwise_not (InputArray src, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null())
 要素ごとのビット単位の反転を実行する。
 
void bitwise_or (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null())
 2つの行列(または行列とスカラー)の要素ごとのビット単位論理和を実行する。
 
void bitwise_or_with_scalar (InputArray src1, Scalar src2, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null())
 行列とスカラーの要素ごとのビット単位論理和を実行する。
 
void bitwise_xor (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null())
 2つの行列(または行列とスカラー)の要素ごとのビット単位排他的論理和を実行する。
 
void bitwise_xor_with_scalar (InputArray src1, Scalar src2, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null())
 行列とスカラーの要素ごとのビット単位排他的論理和を実行する。
 
void blendLinear (InputArray img1, InputArray img2, InputArray weights1, InputArray weights2, OutputArray result, Stream &stream=Stream::Null())
 2枚の画像の線形ブレンドを実行する。
 
void buildWarpAffineMaps (InputArray M, bool inverse, Size dsize, OutputArray xmap, OutputArray ymap, Stream &stream=Stream::Null())
 アフィン変換のための変換マップを構築する。
 
void buildWarpAffineMaps (Mat M, bool inverse, Size dsize, GpuMat &xmap, GpuMat &ymap, Stream &stream=Stream::Null())
 
void buildWarpAffineMaps (UMat M, bool inverse, Size dsize, GpuMat &xmap, GpuMat &ymap, Stream &stream=Stream::Null())
 
void buildWarpPerspectiveMaps (InputArray M, bool inverse, Size dsize, OutputArray xmap, OutputArray ymap, Stream &stream=Stream::Null())
 透視変換のための変換マップを構築する。
 
void buildWarpPerspectiveMaps (Mat M, bool inverse, Size dsize, GpuMat &xmap, GpuMat &ymap, Stream &stream=Stream::Null())
 
void buildWarpPerspectiveMaps (UMat M, bool inverse, Size dsize, GpuMat &xmap, GpuMat &ymap, Stream &stream=Stream::Null())
 
void calcAbsSum (InputArray src, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null())
 
void calcHist (InputArray src, InputArray mask, OutputArray hist, Stream &stream=Stream::Null())
 指定したマスク内に限定された1チャンネル8ビット画像のヒストグラムを計算する。
 
void calcHist (InputArray src, OutputArray hist, Stream &stream=Stream::Null())
 1チャンネル8ビット画像のヒストグラムを計算する。
 
void calcNorm (InputArray src, OutputArray dst, int normType, InputArray mask=noArray(), Stream &stream=Stream::Null())
 
void calcNormDiff (InputArray src1, InputArray src2, OutputArray dst, int normType=NORM_L2, Stream &stream=Stream::Null())
 
void calcOpticalFlowBM (const GpuMat &prev, const GpuMat &curr, Size block_size, Size shift_size, Size max_range, bool use_previous, GpuMat &velx, GpuMat &vely, GpuMat &buf, Stream &stream=Stream::Null())
 ブロックマッチングアルゴリズムを用いて2枚の画像のオプティカルフローを計算する *‍/。
 
void calcSqrSum (InputArray src, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null())
 
void calcSum (InputArray src, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null())
 
void cartToPolar (InputArray x, InputArray y, OutputArray magnitude, OutputArray angle, bool angleInDegrees=false, Stream &stream=Stream::Null())
 直交座標を極座標に変換する。
 
void cartToPolar (InputArray xy, OutputArray magnitude, OutputArray angle, bool angleInDegrees=false, Stream &stream=Stream::Null())
 直交座標を極座標に変換する。
 
void cartToPolar (InputArray xy, OutputArray magnitudeAngle, bool angleInDegrees=false, Stream &stream=Stream::Null())
 直交座標を極座標に変換する。
 
void compare (InputArray src1, InputArray src2, OutputArray dst, int cmpop, Stream &stream=Stream::Null())
 2つの行列(または行列とスカラー)の要素を比較する。
 
void compareWithScalar (InputArray src1, Scalar src2, OutputArray dst, int cmpop, Stream &stream=Stream::Null())
 行列とスカラーの要素を比較する。
 
void connectedComponents (InputArray image, OutputArray labels, int connectivity, int ltype, cv::cuda::ConnectedComponentsAlgorithmsTypes ccltype)
 2値画像の連結成分ラベリング画像を計算する。
 
void connectedComponents (InputArray image, OutputArray labels, int connectivity=8, int ltype=CV_32S)
 
void connectivityMask (const GpuMat &image, GpuMat &mask, const cv::Scalar &lo, const cv::Scalar &hi, Stream &stream=Stream::Null())
 一般化フラッドフィル(Generalized Flood fill)による成分ラベリング用のマスクを計算する。
 
Moments convertSpatialMoments (Mat spatialMoments, const MomentsOrder order, const int momentsType)
 cuda::spatialMomentsから返される空間画像モーメントをcv::Momentsに変換する。
 
void copyMakeBorder (InputArray src, OutputArray dst, int top, int bottom, int left, int right, int borderType, Scalar value=Scalar(), Stream &stream=Stream::Null())
 画像の周囲に境界を作成する。
 
int countNonZero (InputArray src)
 非ゼロの行列要素を数える。
 
void countNonZero (InputArray src, OutputArray dst, Stream &stream=Stream::Null())
 
Ptr< cuda::BackgroundSubtractorFGDcreateBackgroundSubtractorFGD (const FGDParams &params=FGDParams())
 FGD背景差分器を生成する。
 
Ptr< cuda::BackgroundSubtractorGMGcreateBackgroundSubtractorGMG (int initializationFrames=120, double decisionThreshold=0.8)
 GMG背景差分器を生成する。
 
Ptr< cuda::BackgroundSubtractorMOGcreateBackgroundSubtractorMOG (int history=200, int nmixtures=5, double backgroundRatio=0.7, double noiseSigma=0)
 混合ガウス(mixture-of-gaussian)背景差分器を生成する。
 
Ptr< cuda::BackgroundSubtractorMOG2createBackgroundSubtractorMOG2 (int history=500, double varThreshold=16, bool detectShadows=true)
 MOG2背景差分器を生成する。
 
Ptr< FiltercreateBoxFilter (int srcType, int dstType, Size ksize, Point anchor=Point(-1, -1), int borderMode=BORDER_DEFAULT, Scalar borderVal=Scalar::all(0))
 正規化された2Dボックスフィルタを生成する。
 
Ptr< FiltercreateBoxMaxFilter (int srcType, Size ksize, Point anchor=Point(-1, -1), int borderMode=BORDER_DEFAULT, Scalar borderVal=Scalar::all(0))
 最大値フィルタを生成する。
 
Ptr< FiltercreateBoxMinFilter (int srcType, Size ksize, Point anchor=Point(-1, -1), int borderMode=BORDER_DEFAULT, Scalar borderVal=Scalar::all(0))
 最小値フィルタを生成する。
 
Ptr< CannyEdgeDetectorcreateCannyEdgeDetector (double low_thresh, double high_thresh, int apperture_size=3, bool L2gradient=false)
 cuda::CannyEdgeDetector の実装を生成する。
 
Ptr< cuda::CLAHEcreateCLAHE (double clipLimit=40.0, Size tileGridSize=Size(8, 8))
 cuda::CLAHEの実装を生成する。
 
Ptr< FiltercreateColumnSumFilter (int srcType, int dstType, int ksize, int anchor=-1, int borderMode=BORDER_DEFAULT, Scalar borderVal=Scalar::all(0))
 垂直方向の1Dボックスフィルタを生成する。
 
void createContinuous (int rows, int cols, int type, OutputArray arr)
 連続した行列を生成する。
 
Ptr< ConvolutioncreateConvolution (Size user_block_size=Size())
 cuda::Convolutionの実装を生成する。
 
Ptr< FiltercreateDerivFilter (int srcType, int dstType, int dx, int dy, int ksize, bool normalize=false, double scale=1, int rowBorderMode=BORDER_DEFAULT, int columnBorderMode=-1)
 一般化されたDeriv演算子を生成する。
 
Ptr< DFTcreateDFT (Size dft_size, int flags)
 cuda::DFTの実装を生成する。
 
Ptr< cuda::DisparityBilateralFiltercreateDisparityBilateralFilter (int ndisp=64, int radius=3, int iters=1)
 DisparityBilateralFilterオブジェクトを生成する。
 
Ptr< FiltercreateGaussianFilter (int srcType, int dstType, Size ksize, double sigma1, double sigma2=0, int rowBorderMode=BORDER_DEFAULT, int columnBorderMode=-1)
 ガウシアンフィルタを生成する。
 
Ptr< GeneralizedHoughBallardcreateGeneralizedHoughBallard ()
 [17] に基づく一般化ハフ変換の実装を生成する。
 
Ptr< GeneralizedHoughGuilcreateGeneralizedHoughGuil ()
 [118] に基づく一般化ハフ変換の実装を生成する。
 
Ptr< CornersDetectorcreateGoodFeaturesToTrackDetector (int srcType, int maxCorners=1000, double qualityLevel=0.01, double minDistance=0.0, int blockSize=3, bool useHarrisDetector=false, double harrisK=0.04)
 cuda::CornersDetector の実装を生成する。
 
GpuMat createGpuMatFromCudaMemory (int rows, int cols, int type, size_t cudaMemoryAddress, size_t step=Mat::AUTO_STEP)
 既存のGPUメモリから GpuMat を生成するためのバインディング用オーバーロード。
 
GpuMat createGpuMatFromCudaMemory (Size size, int type, size_t cudaMemoryAddress, size_t step=Mat::AUTO_STEP)
 
Ptr< CornernessCriteriacreateHarrisCorner (int srcType, int blockSize, int ksize, double k, int borderType=BORDER_REFLECT101)
 Harrisコーナー判定基準の実装を生成する。
 
Ptr< HoughCirclesDetectorcreateHoughCirclesDetector (float dp, float minDist, int cannyThreshold, int votesThreshold, int minRadius, int maxRadius, int maxCircles=4096)
 cuda::HoughCirclesDetector の実装を生成する。
 
Ptr< HoughLinesDetectorcreateHoughLinesDetector (float rho, float theta, int threshold, bool doSort=false, int maxLines=4096)
 cuda::HoughLinesDetector の実装を生成する。
 
Ptr< HoughSegmentDetectorcreateHoughSegmentDetector (float rho, float theta, int minLineLength, int maxLineGap, int maxLines=4096, int threshold=-1)
 cuda::HoughSegmentDetector の実装を生成する。
 
Ptr< ImagePyramidcreateImagePyramid (InputArray img, int nLayers=-1, Stream &stream=Stream::Null())
 
Ptr< FiltercreateLaplacianFilter (int srcType, int dstType, int ksize=1, double scale=1, int borderMode=BORDER_DEFAULT, Scalar borderVal=Scalar::all(0))
 ラプラシアン演算子を生成する。
 
Ptr< FiltercreateLinearFilter (int srcType, int dstType, InputArray kernel, Point anchor=Point(-1, -1), int borderMode=BORDER_DEFAULT, Scalar borderVal=Scalar::all(0))
 非分離型の線形2Dフィルタを生成する。
 
Ptr< LookUpTablecreateLookUpTable (InputArray lut)
 cuda::LookUpTable の実装を生成する。
 
Ptr< FiltercreateMedianFilter (int srcType, int windowSize, int partition=128)
 入力画像の各点に対してメディアンフィルタ処理を行う。
 
Ptr< CornernessCriteriacreateMinEigenValCorner (int srcType, int blockSize, int ksize, int borderType=BORDER_REFLECT101)
 2x2微分共分散行列の最小固有値(コーナー判定基準)の実装を生成する。
 
Ptr< FiltercreateMorphologyFilter (int op, int srcType, InputArray kernel, Point anchor=Point(-1, -1), int iterations=1)
 2Dモルフォロジーフィルタを生成する。
 
void createOpticalFlowNeedleMap (const GpuMat &u, const GpuMat &v, GpuMat &vertex, GpuMat &colors)
 
Ptr< FiltercreateRowSumFilter (int srcType, int dstType, int ksize, int anchor=-1, int borderMode=BORDER_DEFAULT, Scalar borderVal=Scalar::all(0))
 水平方向の1Dボックスフィルタを生成する。
 
Ptr< FiltercreateScharrFilter (int srcType, int dstType, int dx, int dy, double scale=1, int rowBorderMode=BORDER_DEFAULT, int columnBorderMode=-1)
 垂直または水平方向のScharr演算子を生成する。
 
Ptr< FiltercreateSeparableLinearFilter (int srcType, int dstType, InputArray rowKernel, InputArray columnKernel, Point anchor=Point(-1,-1), int rowBorderMode=BORDER_DEFAULT, int columnBorderMode=-1)
 分離型の線形フィルタを生成する。インプレース処理に対応している。
 
Ptr< FiltercreateSobelFilter (int srcType, int dstType, int dx, int dy, int ksize=3, double scale=1, int rowBorderMode=BORDER_DEFAULT, int columnBorderMode=-1)
 Sobel演算子を生成する。
 
Ptr< cuda::StereoBeliefPropagationcreateStereoBeliefPropagation (int ndisp=64, int iters=5, int levels=5, int msg_type=CV_32F)
 StereoBeliefPropagation オブジェクトを生成する。
 
Ptr< cuda::StereoBMcreateStereoBM (int numDisparities=64, int blockSize=19)
 StereoBM オブジェクトを生成する。
 
Ptr< cuda::StereoConstantSpaceBPcreateStereoConstantSpaceBP (int ndisp=128, int iters=8, int levels=4, int nr_plane=4, int msg_type=CV_32F)
 StereoConstantSpaceBP オブジェクトを生成する。
 
Ptr< cuda::StereoSGMcreateStereoSGM (int minDisparity=0, int numDisparities=128, int P1=10, int P2=120, int uniquenessRatio=5, int mode=cv::cuda::StereoSGM::MODE_HH4)
 StereoSGM オブジェクトを生成する。
 
Ptr< TemplateMatchingcreateTemplateMatching (int srcType, int method, Size user_block_size=Size())
 cuda::TemplateMatching の実装を生成する。
 
void cvtColor (InputArray src, OutputArray dst, int code, int dcn=0, Stream &stream=Stream::Null())
 画像をある色空間から別の色空間へ変換する。
 
void demosaicing (InputArray src, OutputArray dst, int code, int dcn=-1, Stream &stream=Stream::Null())
 画像をBayerパターンからRGBまたはグレースケールへ変換する。
 
bool deviceSupports (FeatureSet feature_set)
 現在のデバイスが指定された機能をサポートしているかを確認する。
 
void dft (InputArray src, OutputArray dst, Size dft_size, int flags=0, Stream &stream=Stream::Null())
 浮動小数点行列の順方向または逆方向の離散フーリエ変換(1Dまたは2D)を実行する。
 
void divide (InputArray src1, InputArray src2, OutputArray dst, double scale=1, int dtype=-1, Stream &stream=Stream::Null())
 行列同士または行列とスカラの除算を計算する。
 
void divideWithScalar (InputArray src1, Scalar src2, OutputArray dst, double scale=1, int dtype=-1, Stream &stream=Stream::Null())
 行列とスカラの除算を計算する。
 
void drawColorDisp (InputArray src_disp, OutputArray dst_disp, int ndisp, Stream &stream=Stream::Null())
 視差画像に色付けを行う。
 
void ensureSizeIsEnough (int rows, int cols, int type, OutputArray arr)
 行列のサイズが十分に大きく、かつ適切な型を持つことを保証する。
 
void equalizeHist (InputArray src, OutputArray dst, Stream &stream=Stream::Null())
 グレースケール画像のヒストグラムを平坦化する。
 
void evenLevels (OutputArray levels, int nLevels, int lowerLevel, int upperLevel, Stream &stream=Stream::Null())
 均等な分布でレベルを計算する。
 
void exp (InputArray src, OutputArray dst, Stream &stream=Stream::Null())
 各行列要素の指数を計算する。
 
void fastNlMeansDenoising (const GpuMat &src, GpuMat &dst, float h, int search_window=21, int block_size=7, Stream &stream=Stream::Null())
 
void fastNlMeansDenoising (InputArray src, OutputArray dst, float h, int search_window=21, int block_size=7, Stream &stream=Stream::Null())
 Non-local Means Denoisingアルゴリズム http://www.ipol.im/pub/algo/bcm_non_local_means_denoising を用い、いくつかの計算上の最適化を加えて画像のノイズ除去を行う。ノイズはガウシアンホワイトノイズを想定している。
 
void fastNlMeansDenoisingColored (const GpuMat &src, GpuMat &dst, float h_luminance, float photo_render, int search_window=21, int block_size=7, Stream &stream=Stream::Null())
 
void fastNlMeansDenoisingColored (InputArray src, OutputArray dst, float h_luminance, float photo_render, int search_window=21, int block_size=7, Stream &stream=Stream::Null())
 カラー画像向けに改変したfastNlMeansDenoising関数。
 
void findMinMax (InputArray src, OutputArray dst, InputArray mask=noArray(), Stream &stream=Stream::Null())
 
void findMinMaxLoc (InputArray src, OutputArray minMaxVals, OutputArray loc, InputArray mask=noArray(), Stream &stream=Stream::Null())
 
void flip (InputArray src, OutputArray dst, int flipCode, Stream &stream=Stream::Null())
 2D行列を垂直軸、水平軸、またはその両方を中心に反転する。
 
void gammaCorrection (InputArray src, OutputArray dst, bool forward=true, Stream &stream=Stream::Null())
 画像の色ガンマを補正するためのルーチン。
 
void gemm (InputArray src1, InputArray src2, double alpha, InputArray src3, double beta, OutputArray dst, int flags=0, Stream &stream=Stream::Null())
 一般化行列積を行う。
 
int getCudaEnabledDeviceCount ()
 インストール済みのCUDA対応デバイスの数を返す。
 
int getDevice ()
 cuda::setDevice で設定された、またはデフォルトで初期化された現在のデバイスのインデックスを返す。
 
void graphcut (GpuMat &terminals, GpuMat &leftTransp, GpuMat &rightTransp, GpuMat &top, GpuMat &bottom, GpuMat &labels, GpuMat &buf, Stream &stream=Stream::Null())
 2D正則4近傍グラフのグラフカットによるラベリングを行う。
 
void graphcut (GpuMat &terminals, GpuMat &leftTransp, GpuMat &rightTransp, GpuMat &top, GpuMat &topLeft, GpuMat &topRight, GpuMat &bottom, GpuMat &bottomLeft, GpuMat &bottomRight, GpuMat &labels, GpuMat &buf, Stream &stream=Stream::Null())
 2D正則8近傍グラフのグラフカットによるラベリングを行う。
 
void histEven (InputArray src, GpuMat hist[4], int histSize[4], int lowerLevel[4], int upperLevel[4], Stream &stream=Stream::Null())
 
void histEven (InputArray src, OutputArray hist, int histSize, int lowerLevel, int upperLevel, Stream &stream=Stream::Null())
 均等に分割されたビンを持つヒストグラムを計算する。
 
void histRange (InputArray src, GpuMat hist[4], const GpuMat levels[4], Stream &stream=Stream::Null())
 
void histRange (InputArray src, OutputArray hist, InputArray levels, Stream &stream=Stream::Null())
 levels配列で決定されるビンを持つヒストグラムを計算する。
 
void inRange (InputArray src, const Scalar &lowerb, const Scalar &upperb, OutputArray dst, Stream &stream=Stream::Null())
 配列の要素が2つのスカラの間にあるかを確認する。
 
void integral (InputArray src, OutputArray sum, Stream &stream=Stream::Null())
 積分画像を計算する。
 
void interpolateFrames (const GpuMat &frame0, const GpuMat &frame1, const GpuMat &fu, const GpuMat &fv, const GpuMat &bu, const GpuMat &bv, float pos, GpuMat &newFrame, GpuMat &buf, Stream &stream=Stream::Null())
 指定されたオプティカルフロー(変位場)を用いてフレーム(画像)を補間する。
 
void labelComponents (const GpuMat &mask, GpuMat &components, int flags=0, Stream &stream=Stream::Null())
 連結成分のラベリングを行う。
 
void log (InputArray src, OutputArray dst, Stream &stream=Stream::Null())
 各行列要素の絶対値の自然対数を計算する。
 
void lshift (InputArray src, Scalar val, OutputArray dst, Stream &stream=Stream::Null())
 
void lshift (InputArray src, Scalar_< int > val, OutputArray dst, Stream &stream=Stream::Null())
 画像の各ピクセルを定数値で右シフトする。
 
void magnitude (InputArray x, InputArray y, OutputArray magnitude, Stream &stream=Stream::Null())
 
void magnitude (InputArray xy, OutputArray magnitude, Stream &stream=Stream::Null())
 複素数行列要素の大きさ(マグニチュード)を計算する。
 
void magnitudeSqr (InputArray x, InputArray y, OutputArray magnitude, Stream &stream=Stream::Null())
 
void magnitudeSqr (InputArray xy, OutputArray magnitude, Stream &stream=Stream::Null())
 複素数行列要素の大きさ(マグニチュード)の2乗を計算する。
 
void max (InputArray src1, InputArray src2, OutputArray dst, Stream &stream=Stream::Null())
 2つの行列(または行列とスカラ)の要素ごとの最大値を計算する。
 
void maxWithScalar (InputArray src1, Scalar src2, OutputArray dst, Stream &stream=Stream::Null())
 行列とスカラの要素ごとの最大値を計算する。
 
void meanShiftFiltering (InputArray src, OutputArray dst, int sp, int sr, TermCriteria criteria=TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5, 1), Stream &stream=Stream::Null())
 入力画像の各点に対してミーンシフトフィルタリングを実行する。
 
void meanShiftProc (InputArray src, OutputArray dstr, OutputArray dstsp, int sp, int sr, TermCriteria criteria=TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5, 1), Stream &stream=Stream::Null())
 ミーンシフト処理を実行し、処理された点に関する情報(その色と位置)を2枚の画像に格納する。
 
void meanShiftSegmentation (InputArray src, OutputArray dst, int sp, int sr, int minsize, TermCriteria criteria=TermCriteria(TermCriteria::MAX_ITER+TermCriteria::EPS, 5, 1), Stream &stream=Stream::Null())
 入力画像のミーンシフトセグメンテーションを実行し、小さなセグメントを除去する。
 
void meanStdDev (InputArray mtx, OutputArray dst, Stream &stream=Stream::Null())
 
void meanStdDev (InputArray mtx, Scalar &mean, Scalar &stddev)
 
void meanStdDev (InputArray src, OutputArray dst, InputArray mask, Stream &stream=Stream::Null())
 行列要素の平均値と標準偏差を計算する。
 
void meanStdDev (InputArray src, Scalar &mean, Scalar &stddev, InputArray mask)
 
void merge (const GpuMat *src, size_t n, OutputArray dst, Stream &stream=Stream::Null())
 複数のシングルチャンネル行列から多チャンネル行列を構成する。
 
void merge (const std::vector< GpuMat > &src, OutputArray dst, Stream &stream=Stream::Null())
 
void min (InputArray src1, InputArray src2, OutputArray dst, Stream &stream=Stream::Null())
 2つの行列(または行列とスカラ)の要素ごとの最小値を計算する。
 
void minMax (InputArray src, double *minVal, double *maxVal, InputArray mask=noArray())
 行列要素の全体的な最小値と最大値を求め、その値を返す。
 
void minMaxLoc (InputArray src, double *minVal, double *maxVal, Point *minLoc, Point *maxLoc, InputArray mask=noArray())
 行列要素の全体的な最小値と最大値を求め、その値と位置を返す。
 
void minWithScalar (InputArray src1, Scalar src2, OutputArray dst, Stream &stream=Stream::Null())
 行列とスカラの要素ごとの最小値を計算する。
 
Moments moments (InputArray src, const bool binaryImage=false, const MomentsOrder order=MomentsOrder::THIRD_ORDER_MOMENTS, const int momentsType=CV_64F)
 ラスタライズされた形状について、3次までのすべてのモーメントを計算する。
 
void mulAndScaleSpectrums (InputArray src1, InputArray src2, OutputArray dst, int flags, float scale, bool conjB=false, Stream &stream=Stream::Null())
 2つのフーリエスペクトルの要素ごとの乗算を行い、結果をスケーリングする。
 
void mulSpectrums (InputArray src1, InputArray src2, OutputArray dst, int flags, bool conjB=false, Stream &stream=Stream::Null())
 2つのフーリエスペクトルの要素ごとの乗算を行う。
 
void multiply (InputArray src1, InputArray src2, OutputArray dst, double scale=1, int dtype=-1, Stream &stream=Stream::Null())
 行列同士または行列とスカラの要素ごとの積を計算する。
 
void multiplyWithScalar (InputArray src1, Scalar src2, OutputArray dst, double scale=1, int dtype=-1, Stream &stream=Stream::Null())
 行列とスカラの要素ごとの積を計算する。
 
void nonLocalMeans (const GpuMat &src, GpuMat &dst, float h, int search_window=21, int block_size=7, int borderMode=BORDER_DEFAULT, Stream &stream=Stream::Null())
 
void nonLocalMeans (InputArray src, OutputArray dst, float h, int search_window=21, int block_size=7, int borderMode=BORDER_DEFAULT, Stream &stream=Stream::Null())
 簡略化を一切行わない純粋なnon local meansノイズ除去を実行する。そのため高速ではない。
 
double norm (InputArray src1, InputArray src2, int normType=NORM_L2)
 2つの行列の差を返す。
 
double norm (InputArray src1, int normType, InputArray mask=noArray())
 行列のノルム(または2つの行列の差のノルム)を返す。
 
void normalize (InputArray src, OutputArray dst, double alpha, double beta, int norm_type, int dtype, InputArray mask=noArray(), Stream &stream=Stream::Null())
 配列のノルムまたは値の範囲を正規化する。
 
int numMoments (const MomentsOrder order)
 最大の画像モーメント次数 order 以下の画像モーメントの数を返す。
 
void phase (InputArray x, InputArray y, OutputArray angle, bool angleInDegrees=false, Stream &stream=Stream::Null())
 複素数行列要素の極角を計算する。
 
void phase (InputArray xy, OutputArray angle, bool angleInDegrees=false, Stream &stream=Stream::Null())
 複素数行列要素の極角を計算する。
 
void polarToCart (InputArray magnitude, InputArray angle, OutputArray x, OutputArray y, bool angleInDegrees=false, Stream &stream=Stream::Null())
 極座標を直交座標に変換する。
 
void polarToCart (InputArray magnitude, InputArray angle, OutputArray xy, bool angleInDegrees=false, Stream &stream=Stream::Null())
 極座標を直交座標に変換する。
 
void polarToCart (InputArray magnitudeAngle, OutputArray xy, bool angleInDegrees=false, Stream &stream=Stream::Null())
 極座標を直交座標に変換する。
 
void pow (InputArray src, double power, OutputArray dst, Stream &stream=Stream::Null())
 すべての行列要素をべき乗する。
 
void printCudaDeviceInfo (int device)
 
void printShortCudaDeviceInfo (int device)
 
void projectPoints (const GpuMat &src, const Mat &rvec, const Mat &tvec, const Mat &camera_mat, const Mat &dist_coef, GpuMat &dst, Stream &stream=Stream::Null())
 
void pyrDown (InputArray src, OutputArray dst, Stream &stream=Stream::Null())
 画像を平滑化してからダウンサンプリングする。
 
void pyrUp (InputArray src, OutputArray dst, Stream &stream=Stream::Null())
 画像をアップサンプリングしてから平滑化する。
 
void rectStdDev (InputArray src, InputArray sqr, OutputArray dst, Rect rect, Stream &stream=Stream::Null())
 積分画像の標準偏差を計算する。
 
void reduce (InputArray mtx, OutputArray vec, int dim, int reduceOp, int dtype=-1, Stream &stream=Stream::Null())
 行列をベクトルに縮約する。
 
void registerPageLocked (Mat &m)
 行列のメモリをページロックし、デバイス向けにマッピングする。
 
void remap (InputArray src, OutputArray dst, InputArray xmap, InputArray ymap, int interpolation, int borderMode=BORDER_CONSTANT, Scalar borderValue=Scalar(), Stream &stream=Stream::Null())
 画像に汎用的な幾何学的変換を適用する。
 
void reprojectImageTo3D (GpuMat disp, GpuMat &xyzw, Mat Q, int dst_cn=4, Stream &stream=Stream::Null())
 
void reprojectImageTo3D (InputArray disp, OutputArray xyzw, InputArray Q, int dst_cn=4, Stream &stream=Stream::Null())
 視差画像を3D空間へ再投影する。
 
void resetDevice ()
 現在のプロセスにおける現在のデバイスに関連付けられたすべてのリソースを明示的に破棄してクリーンアップする。
 
void resize (InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR, Stream &stream=Stream::Null())
 画像をリサイズする。
 
void rotate (InputArray src, OutputArray dst, Size dsize, double angle, double xShift=0, double yShift=0, int interpolation=INTER_LINEAR, Stream &stream=Stream::Null())
 原点(0,0)を中心に画像を回転させてからシフトする。
 
void rshift (InputArray src, Scalar val, OutputArray dst, Stream &stream=Stream::Null())
 
void rshift (InputArray src, Scalar_< int > val, OutputArray dst, Stream &stream=Stream::Null())
 画像をピクセル単位で定数値だけ右シフトする。
 
static void scaleAdd (InputArray src1, double alpha, InputArray src2, OutputArray dst, Stream &stream=Stream::Null())
 スケーリングした配列を別の配列に加算する (dst = alpha*src1 + src2)
 
void setBufferPoolConfig (int deviceId, size_t stackSize, int stackCount)
 
void setBufferPoolUsage (bool on)
 BufferPool の管理(Stream の生成前に呼び出す必要がある)
 
void setDevice (int device)
 デバイスを設定し、現在のスレッド用に初期化する。
 
void setGlDevice (int device=0)
 CUDAデバイスを設定し、OpenGLとの相互運用性を備えて現在のスレッド用に初期化する。
 
void solvePnPRansac (const Mat &object, const Mat &image, const Mat &camera_mat, const Mat &dist_coef, Mat &rvec, Mat &tvec, bool use_extrinsic_guess=false, int num_iters=100, float max_dist=8.0, int min_inlier_count=100, std::vector< int > *inliers=NULL)
 3D-2D点対応からオブジェクトの姿勢を求める。
 
void spatialMoments (InputArray src, OutputArray moments, const bool binaryImage=false, const MomentsOrder order=MomentsOrder::THIRD_ORDER_MOMENTS, const int momentsType=CV_64F, Stream &stream=Stream::Null())
 ラスタライズされた形状の3次までのすべての空間モーメントを計算する。
 
void split (InputArray src, GpuMat *dst, Stream &stream=Stream::Null())
 マルチチャンネル行列の各プレーンを配列にコピーする。
 
void split (InputArray src, std::vector< GpuMat > &dst, Stream &stream=Stream::Null())
 
void sqr (InputArray src, OutputArray dst, Stream &stream=Stream::Null())
 各行列要素の2乗を計算する。
 
void sqrIntegral (InputArray src, OutputArray sqsum, Stream &stream=Stream::Null())
 2乗積分画像を計算する。
 
Scalar sqrSum (InputArray src, InputArray mask=noArray())
 行列要素の2乗和を返す。
 
void sqrt (InputArray src, OutputArray dst, Stream &stream=Stream::Null())
 各行列要素の平方根を計算する。
 
void subtract (InputArray src1, InputArray src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1, Stream &stream=Stream::Null())
 行列同士または行列とスカラーの差を計算する。
 
void subtractWithScalar (InputArray src1, Scalar src2, OutputArray dst, InputArray mask=noArray(), int dtype=-1, Stream &stream=Stream::Null())
 行列とスカラーの差を計算する。
 
Scalar sum (InputArray src, InputArray mask=noArray())
 行列要素の総和を返す。
 
void swapChannels (InputOutputArray image, const int dstOrder[4], Stream &stream=Stream::Null())
 画像のカラーチャンネルをインプレースで入れ替える。
 
double threshold (InputArray src, OutputArray dst, double thresh, double maxval, int type, Stream &stream=Stream::Null())
 各配列要素に固定しきい値処理を適用する。
 
void transformPoints (const GpuMat &src, const Mat &rvec, const Mat &tvec, GpuMat &dst, Stream &stream=Stream::Null())
 
void transpose (InputArray src1, OutputArray dst, Stream &stream=Stream::Null())
 行列を転置する。
 
void unregisterPageLocked (Mat &m)
 行列のメモリのマッピングを解除し、再びページング可能にする。
 
void warpAffine (InputArray src, OutputArray dst, InputArray M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, Scalar borderValue=Scalar(), Stream &stream=Stream::Null())
 画像にアフィン変換を適用する。
 
void warpAffine (InputArray src, OutputArray dst, Mat M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, Scalar borderValue=Scalar(), Stream &stream=Stream::Null())
 
void warpAffine (InputArray src, OutputArray dst, UMat M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, Scalar borderValue=Scalar(), Stream &stream=Stream::Null())
 
void warpPerspective (InputArray src, OutputArray dst, InputArray M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, Scalar borderValue=Scalar(), Stream &stream=Stream::Null())
 画像に透視変換を適用する。
 
void warpPerspective (InputArray src, OutputArray dst, Mat M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, Scalar borderValue=Scalar(), Stream &stream=Stream::Null())
 
void warpPerspective (InputArray src, OutputArray dst, UMat M, Size dsize, int flags=INTER_LINEAR, int borderMode=BORDER_CONSTANT, Scalar borderValue=Scalar(), Stream &stream=Stream::Null())
 
Stream wrapStream (size_t cudaStreamMemoryAddress)
 既存のCUDA Runtime APIストリームポインタ (cudaStream_t) に格納されたアドレスから Stream オブジェクトを生成するためのバインディング用オーバーロード。
 

関数詳解

◆ createMedianFilter()

Ptr< Filter > cv::cuda::createMedianFilter ( int srcType,
int windowSize,
int partition = 128 )

入力画像の各点に対してメディアンフィルタリングを実行する。

引数
srcTypeソース画像の型。CUDA_VERSION < 11の場合はCV_8UC1のみ。CUDA_VERSION >= 11の場合はCV_8UC1, CV_8UC3, CV_8UC4, CV_16UC1, CV_16UC3, CV_16UC4, CV_32FC1, CV_32FC3, CV_32FC4。
windowSizeフィルタリングに使用するカーネルのサイズ。(windowSize x windowSize) のフィルタを使用する。
partitionワークロードの並列粒度を指定する。CUDA_VERSION < 11の場合のみ使用される。

メディアンフィルタリングの定式化を用いてフィルタ処理した画像を出力する。

CUDA 11以降でコンパイルした場合は、次で説明されているウェーブレットベースのアルゴリズムが使用される:https://cgenglab.github.io/en/publication/sigga22_wmatrix_median/ Yuji Moroto, Nobuyuki Umetani, 2022, "Constant Time Median Filter Using 2D Wavelet Matrix", ACM Transactions on Graphics, Volume 41, Issue 6.

それ以前のバージョンのCUDAについては、使用されるアルゴリズムの詳細を次の文献で確認できる: Green, O., 2017. "Efficient scalable median filtering using histogram-based operations", IEEE Transactions on Image Processing, 27(5), pp.2217-2228.

覚え書き
CUDA Stream 内で適用する場合、各 Stream ごとに個別のフィルタインスタンスを生成する必要がある。複数のストリーム間で単一のインスタンスを共有することはサポートされておらず、ストリーム固有の内部状態のために未定義動作を引き起こす可能性がある。