OpenCV  5.0.0alpha
Open Source Computer Vision
Loading...
Searching...
No Matches
cv::cuda::CascadeClassifier Class Referenceabstract

Cascade classifier class used for object detection. Supports HAAR and LBP cascades. : More...

#include <opencv2/cudaobjdetect.hpp>

Collaboration diagram for cv::cuda::CascadeClassifier:

Public Member Functions

virtual void convert (OutputArray gpu_objects, std::vector< Rect > &objects)=0
 Converts objects array from internal representation to standard vector.
 
virtual void detectMultiScale (InputArray image, OutputArray objects, Stream &stream=Stream::Null())=0
 Detects objects of different sizes in the input image.
 
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
 Minimum possible object size. Objects smaller than that are ignored.
 
virtual void setScaleFactor (double scaleFactor)=0
 Parameter specifying how much the image size is reduced at each image scale.
 
- Public Member Functions inherited from cv::Algorithm
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 Clears the algorithm state.
 
virtual bool empty () const
 Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 Reads algorithm parameters from a file storage.
 
virtual void save (const String &filename) const
 
virtual void write (FileStorage &fs) const
 Stores algorithm parameters in a file storage.
 
void write (FileStorage &fs, const String &name) const
 

Static Public Member Functions

static Ptr< cuda::CascadeClassifiercreate (const FileStorage &file)
 
static Ptr< cuda::CascadeClassifiercreate (const String &filename)
 Loads the classifier from a file. Cascade type is detected automatically by constructor parameter.
 
- Static Public Member Functions inherited from cv::Algorithm
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 Loads algorithm from the file.
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 Loads algorithm from a String.
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 Reads algorithm from the file node.
 

Additional Inherited Members

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

Detailed Description

Cascade classifier class used for object detection. Supports HAAR and LBP cascades. :

Note
  • A cascade classifier example can be found at xobjdetect_module/samples/gpu/cascadeclassifier.cpp
  • A Nvidea API specific cascade classifier example can be found at opencv_source_code/samples/gpu/cascadeclassifier_nvidia_api.cpp

Member Function Documentation

◆ convert()

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

Converts objects array from internal representation to standard vector.

Parameters
gpu_objectsObjects array in internal representation.
objectsResulting array.

◆ create() [1/2]

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

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

◆ create() [2/2]

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

Loads the classifier from a file. Cascade type is detected automatically by constructor parameter.

Parameters
filenameName of the file from which the classifier is loaded. Only the old haar classifier (trained by the haar training application) and NVIDIA's nvbin are supported for HAAR and only new type of OpenCV XML cascade supported for LBP. The working haar models can be found at opencv_folder/data/haarcascades_cuda/

◆ detectMultiScale()

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

Detects objects of different sizes in the input image.

Parameters
imageMatrix of type CV_8U containing an image where objects should be detected.
objectsBuffer to store detected objects (rectangles).
streamCUDA stream.

To get final array of detected objects use CascadeClassifier::convert method.

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);
n-dimensional dense array class
Definition mat.hpp:951
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.
CV_EXPORTS_W 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.
See also
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

Maximum possible object size. Objects larger than that are ignored. Used for second signature and supported only for LBP cascades.

◆ setMinNeighbors()

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

Parameter specifying how many neighbors each candidate rectangle should have to retain it.

◆ setMinObjectSize()

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

Minimum possible object size. Objects smaller than that are ignored.

◆ setScaleFactor()

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

Parameter specifying how much the image size is reduced at each image scale.


The documentation for this class was generated from the following file: