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

オブジェクト検出に使用するカスケード分類器クラス。HAARおよびLBPカスケードをサポートする。 : 詳細...

#include <opencv2/cudaobjdetect.hpp>

Collaboration diagram for cv::cuda::CascadeClassifier:

公開メンバ関数

virtual void convert (OutputArray gpu_objects, std::vector< Rect > &objects)=0
 オブジェクト配列を内部表現から標準のベクターに変換する。
 
virtual void detectMultiScale (InputArray image, OutputArray objects, Stream &stream=Stream::Null())=0
 入力画像から様々なサイズのオブジェクトを検出する。
 
virtual Size getClassifierSize () const =0
 
virtual bool getFindLargestObject ()=0
 
virtual int getMaxNumObjects () const =0
 
virtual Size getMaxObjectSize () const =0
 
virtual int getMinNeighbors () const =0
 
virtual Size getMinObjectSize () const =0
 
virtual double getScaleFactor () const =0
 
virtual void setFindLargestObject (bool findLargestObject)=0
 
virtual void setMaxNumObjects (int maxNumObjects)=0
 
virtual void setMaxObjectSize (Size maxObjectSize)=0
 
virtual void setMinNeighbors (int minNeighbors)=0
 
virtual void setMinObjectSize (Size minSize)=0
 検出可能なオブジェクトの最小サイズ。これより小さいオブジェクトは無視される。
 
virtual void setScaleFactor (double scaleFactor)=0
 各画像スケールで画像サイズをどれだけ縮小するかを指定する引数。
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 アルゴリズムの状態をクリアする。
 
virtual bool empty () const
 Algorithm が空の場合(たとえば開始直後や読み込みに失敗した後)に true を返す。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 ファイルストレージからアルゴリズムの引数を読み込む。
 
virtual void save (const String &filename) const
 
virtual void write (FileStorage &fs) const
 アルゴリズムの引数をファイルストレージに保存する。
 
void write (FileStorage &fs, const String &name) const
 

静的公開メンバ関数

static Ptr< cuda::CascadeClassifiercreate (const FileStorage &file)
 
static Ptr< cuda::CascadeClassifiercreate (const String &filename)
 ファイルから分類器を読み込む。カスケードの種類はコンストラクタの引数から自動的に検出される。
 
- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 ファイルからアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 文字列からアルゴリズムを読み込む。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 ファイルノードからアルゴリズムを読み込む。
 

Additional Inherited Members

- Protected Member Functions inherited from cv::Algorithm
void writeFormat (FileStorage &fs) const
 

詳細説明

オブジェクト検出に使用するカスケード分類器クラス。HAARおよびLBPカスケードをサポートする。 :

覚え書き
  • カスケード分類器の例は xobjdetect_module/samples/gpu/cascadeclassifier.cpp にある
  • Nvidea API固有のカスケード分類器の例は opencv_source_code/samples/gpu/cascadeclassifier_nvidia_api.cpp にある

メンバ関数詳解

◆ convert()

virtual void cv::cuda::CascadeClassifier::convert ( OutputArray gpu_objects,
std::vector< Rect > & objects )
pure virtual

オブジェクト配列を内部表現から標準のベクターに変換する。

引数
gpu_objects内部表現でのオブジェクト配列。
objects結果の配列。

◆ create() [1/2]

static Ptr< cuda::CascadeClassifier > cv::cuda::CascadeClassifier::create ( const FileStorage & file)
static

これは利便性のために提供されているオーバーロードされたメンバ関数である。上記の関数とは、受け取る引数のみが異なる。

◆ create() [2/2]

static Ptr< cuda::CascadeClassifier > cv::cuda::CascadeClassifier::create ( const String & filename)
static

ファイルから分類器を読み込む。カスケードの種類はコンストラクタの引数から自動的に検出される。

引数
filename分類器を読み込むファイルの名前。HAARでは古いHaar分類器(Haar学習アプリケーションで学習されたもの)とNVIDIAのnvbinのみがサポートされ、LBPでは新しい型のOpenCV XMLカスケードのみがサポートされる。動作するHaarモデルは opencv_folder/data/haarcascades_cuda/ にある

◆ detectMultiScale()

virtual void cv::cuda::CascadeClassifier::detectMultiScale ( InputArray image,
OutputArray objects,
Stream & stream = Stream::Null() )
pure virtual

入力画像から様々なサイズのオブジェクトを検出する。

引数
imageオブジェクトを検出する画像を格納したCV_8U型の行列。
objects検出されたオブジェクト(矩形)を格納するバッファ。
streamCUDAストリーム。

検出されたオブジェクトの最終的な配列を取得するには CascadeClassifier::convert メソッドを使用する。

Mat image_cpu = imread(...)
GpuMat image_gpu(image_cpu);
GpuMat objbuf;
cascade_gpu->detectMultiScale(image_gpu, objbuf);
std::vector<Rect> faces;
cascade_gpu->convert(objbuf, faces);
for(int i = 0; i < detections_num; ++i)
cv::rectangle(image_cpu, faces[i], Scalar(255));
imshow("Faces", image_cpu);
Comma-separated Matrix Initializer.
Definition mat.hpp:964
Template class for 2D rectangles.
Definition types.hpp:447
virtual void detectMultiScale(InputArray image, OutputArray objects, Stream &stream=Stream::Null())=0
Detects objects of different sizes in the input image.
static Ptr< cuda::CascadeClassifier > create(const String &filename)
Loads the classifier from a file. Cascade type is detected automatically by constructor parameter.
virtual void convert(OutputArray gpu_objects, std::vector< Rect > &objects)=0
Converts objects array from internal representation to standard vector.
Base storage class for GPU memory with reference counting.
Definition cuda.hpp:106
std::shared_ptr< _Tp > Ptr
Definition cvstd_wrapper.hpp:23
void imshow(const String &winname, InputArray mat)
Displays an image in the specified window.
Mat imread(const String &filename, int flags=IMREAD_COLOR_BGR)
Loads an image from a file.
void rectangle(InputOutputArray img, Point pt1, Point pt2, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0)
Draws a simple, thick, or filled up-right rectangle.
Definition core.hpp:107
STL namespace.
参照
CascadeClassifier::detectMultiScale

◆ getClassifierSize()

virtual Size cv::cuda::CascadeClassifier::getClassifierSize ( ) const
pure virtual

◆ getFindLargestObject()

virtual bool cv::cuda::CascadeClassifier::getFindLargestObject ( )
pure virtual

◆ getMaxNumObjects()

virtual int cv::cuda::CascadeClassifier::getMaxNumObjects ( ) const
pure virtual

◆ getMaxObjectSize()

virtual Size cv::cuda::CascadeClassifier::getMaxObjectSize ( ) const
pure virtual

◆ getMinNeighbors()

virtual int cv::cuda::CascadeClassifier::getMinNeighbors ( ) const
pure virtual

◆ getMinObjectSize()

virtual Size cv::cuda::CascadeClassifier::getMinObjectSize ( ) const
pure virtual

◆ getScaleFactor()

virtual double cv::cuda::CascadeClassifier::getScaleFactor ( ) const
pure virtual

◆ setFindLargestObject()

virtual void cv::cuda::CascadeClassifier::setFindLargestObject ( bool findLargestObject)
pure virtual

◆ setMaxNumObjects()

virtual void cv::cuda::CascadeClassifier::setMaxNumObjects ( int maxNumObjects)
pure virtual

◆ setMaxObjectSize()

virtual void cv::cuda::CascadeClassifier::setMaxObjectSize ( Size maxObjectSize)
pure virtual

検出可能なオブジェクトの最大サイズ。これより大きいオブジェクトは無視される。2番目のシグネチャで使用され、LBPカスケードでのみサポートされる。

◆ setMinNeighbors()

virtual void cv::cuda::CascadeClassifier::setMinNeighbors ( int minNeighbors)
pure virtual

各候補矩形を残すために、いくつの近傍が必要かを指定するパラメータ。

◆ setMinObjectSize()

virtual void cv::cuda::CascadeClassifier::setMinObjectSize ( Size minSize)
pure virtual

検出可能な物体の最小サイズ。これより小さい物体は無視される。

◆ setScaleFactor()

virtual void cv::cuda::CascadeClassifier::setScaleFactor ( double scaleFactor)
pure virtual

各画像スケールで画像サイズをどれだけ縮小するかを指定するパラメータ。


このクラス詳解は次のファイルから抽出されました: