| OpenCV 5.0.0alpha Open Source Computer Vision

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
cv::cuda::CascadeClassifier Class Referenceabstract
CUDA-accelerated Computer Vision » Object Detection

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::CascadeClassifier > | create (const FileStorage &file)
static Ptr< cuda::CascadeClassifier > | create (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< _Tp > | load (const String &filename, const String &objname=String())
| Loads algorithm from the file.
template<typename _Tp >
static Ptr< _Tp > | loadFromString (const String &strModel, const String &objname=String())
| Loads algorithm from a String.
template<typename _Tp >
static Ptr< _Tp > | read (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_objects | Objects array in internal representation.
  objects | Resulting 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

  filename | Name 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

  image | Matrix of type CV_8U containing an image where objects should be detected.
  objects | Buffer to store detected objects (rectangles).
  stream | CUDA stream.

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

Ptr<cuda::CascadeClassifier> cascade_gpu = cuda::CascadeClassifier::create(...);
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);
cv::Mat
n-dimensional dense array class
Definition mat.hpp:951
cv::Rect_
Template class for 2D rectangles.
Definition types.hpp:447
cv::Scalar_< double >
cv::cuda::CascadeClassifier::detectMultiScale
virtual void detectMultiScale(InputArray image, OutputArray objects, Stream &stream=Stream::Null())=0
Detects objects of different sizes in the input image.
cv::cuda::CascadeClassifier::create
static Ptr< cuda::CascadeClassifier > create(const String &filename)
Loads the classifier from a file. Cascade type is detected automatically by constructor parameter.
cv::cuda::CascadeClassifier::convert
virtual void convert(OutputArray gpu_objects, std::vector< Rect > &objects)=0
Converts objects array from internal representation to standard vector.
cv::cuda::GpuMat
Base storage class for GPU memory with reference counting.
Definition cuda.hpp:106
cv::Ptr
std::shared_ptr< _Tp > Ptr
Definition cvstd_wrapper.hpp:23
cv::imshow
void imshow(const String &winname, InputArray mat)
Displays an image in the specified window.
cv::imread
CV_EXPORTS_W Mat imread(const String &filename, int flags=IMREAD_COLOR_BGR)
Loads an image from a file.
cv::rectangle
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.
cv
Definition core.hpp:107
std
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:

- opencv2/cudaobjdetect.hpp