### Navigation

- index
- next |
- previous |
- OpenCV 2.4.12.3 documentation »
- OpenCV API Reference »
- ocl. OpenCL-accelerated Computer Vision »

# Object Detection

## ocl::OclCascadeClassifier

class `ocl::``OclCascadeClassifier` : public `CascadeClassifier`

Cascade classifier class used for object detection. Supports HAAR cascade classifier in the form of cross link

    class CV_EXPORTS OclCascadeClassifier : public CascadeClassifier
    {
    public:
            OclCascadeClassifier(){};
            ~OclCascadeClassifier(){};
            CvSeq* oclHaarDetectObjects(oclMat &gimg, CvMemStorage *storage, double scaleFactor,
                                  int minNeighbors, int flags, CvSize minSize = cvSize(0, 0),
                                  CvSize maxSize = cvSize(0, 0));
    };

Note

(Ocl) A face detection example using cascade classifiers can be found at opencv_source_code/samples/ocl/facedetect.cpp

## ocl::OclCascadeClassifier::oclHaarDetectObjects

Detects objects of different sizes in the input image.

C++:`` CvSeq* `ocl::OclCascadeClassifier::``oclHaarDetectObjects`(oclMat& gimg, CvMemStorage* storage, double scaleFactor, int minNeighbors, int flags, CvSize minSize=cvSize(0, 0), CvSize maxSize=cvSize(0, 0))

  Parameters:

  - gimage – Matrix of type CV_8U containing an image where objects should be detected.
  - scaleFactor – Parameter specifying how much the image size is reduced at each image scale.
  - minNeighbors – Parameter specifying how many neighbors each candidate rectangle should have to retain it.
  - flags – Parameter with the same meaning for an old cascade as in the function `cvHaarDetectObjects`. It is not used for a new cascade.
  - minSize – Minimum possible object size. Objects smaller than that are ignored.
  - maxSize – Maximum possible object size. Objects larger than that are ignored.

The function provides a very similar interface with that in CascadeClassifier class, except using oclMat as input image.

## ocl::MatchTemplateBuf

struct `ocl::``MatchTemplateBuf`

Class providing memory buffers for `ocl::matchTemplate()` function, plus it allows to adjust some specific parameters.

    struct CV_EXPORTS MatchTemplateBuf
    {
        Size user_block_size;
        oclMat imagef, templf;
        std::vector<oclMat> images;
        std::vector<oclMat> image_sums;
        std::vector<oclMat> image_sqsums;
    };

You can use field user_block_size to set specific block size for `ocl::matchTemplate()` function. If you leave its default value Size(0,0) then automatic estimation of block size will be used (which is optimized for speed). By varying user_block_size you can reduce memory requirements at the cost of speed.

## ocl::matchTemplate

Computes a proximity map for a raster template and an image where the template is searched for.

C++:`` void `ocl::``matchTemplate`(const oclMat& image, const oclMat& templ, oclMat& result, int method)

C++:`` void `ocl::``matchTemplate`(const oclMat& image, const oclMat& templ, oclMat& result, int method, MatchTemplateBuf& buf)

  Parameters:

  - image – Source image. `CV_32F` and `CV_8U` depth images (1..4 channels) are supported for now.
  - templ – Template image with the size and type the same as `image` .
  - result – Map containing comparison results ( `CV_32FC1` ). If `image` is W x H and `templ` is w x h, then `result` must be W-w+1 x H-h+1.
  - method – Specifies the way to compare the template with the image.
  - buf – Optional buffer to avoid extra memory allocations and to adjust some specific parameters. See `ocl::MatchTemplateBuf`.

  The following methods are supported for the `CV_8U` depth images for now:

  - `CV_TM_SQDIFF`
  - `CV_TM_SQDIFF_NORMED`
  - `CV_TM_CCORR`
  - `CV_TM_CCORR_NORMED`
  - `CV_TM_CCOEFF`
  - `CV_TM_CCOEFF_NORMED`

  The following methods are supported for the `CV_32F` images for now:

  - `CV_TM_SQDIFF`
  - `CV_TM_CCORR`

See also

`matchTemplate()`

## Help and Feedback

You did not find what you were looking for?

- Ask a question on the Q&A forum.
- If you think something is missing or wrong in the documentation, please file a bug report.

### Navigation

- index
- next |
- previous |
- OpenCV 2.4.12.3 documentation »
- OpenCV API Reference »
- ocl. OpenCL-accelerated Computer Vision »