44
#ifndef OPENCV_OBJDETECT_HPP
 
45
#define OPENCV_OBJDETECT_HPP
 
47
#include "opencv2/core.hpp"
 
109
typedef
struct
CvHaarClassifierCascade CvHaarClassifierCascade;
 
125
inline
bool
operator()(
const
Rect& r1,
const
Rect& r2)
const
 
151
CV_EXPORTS
void
groupRectangles(std::vector<Rect>& rectList,
int
groupThreshold,
double
eps = 0.2);
 
153
CV_EXPORTS_W
void
groupRectangles(CV_IN_OUT std::vector<Rect>& rectList, CV_OUT std::vector<int>& weights,
 
154
int
groupThreshold,
double
eps = 0.2);
 
157
double
eps, std::vector<int>* weights, std::vector<double>* levelWeights );
 
159
CV_EXPORTS
void
groupRectangles(std::vector<Rect>& rectList, std::vector<int>& rejectLevels,
 
160
std::vector<double>& levelWeights,
int
groupThreshold,
double
eps = 0.2);
 
163
std::vector<double>& foundScales,
 
164
double
detectThreshold = 0.0,
Size
winDetSize =
Size(64, 128));
 
166
template<>
struct
DefaultDeleter<CvHaarClassifierCascade>{ CV_EXPORTS
void
operator ()(CvHaarClassifierCascade* obj)
const; };
 
168
enum
{ CASCADE_DO_CANNY_PRUNING    = 1,
 
169
CASCADE_SCALE_IMAGE         = 2,
 
170
CASCADE_FIND_BIGGEST_OBJECT = 4,
 
171
CASCADE_DO_ROUGH_SEARCH     = 8
 
178
virtual
bool
empty() const CV_OVERRIDE = 0;
 
179
virtual
bool
load( const String& filename ) = 0;
 
180
virtual
void
detectMultiScale( InputArray image,
 
181
CV_OUT std::vector<
Rect>& objects,
 
183
int
minNeighbors,
int
flags,
 
186
virtual
void
detectMultiScale( InputArray image,
 
187
CV_OUT std::vector<
Rect>& objects,
 
188
CV_OUT std::vector<
int>& numDetections,
 
190
int
minNeighbors,
int
flags,
 
193
virtual
void
detectMultiScale( InputArray image,
 
194
CV_OUT std::vector<
Rect>& objects,
 
195
CV_OUT std::vector<
int>& rejectLevels,
 
196
CV_OUT std::vector<
double>& levelWeights,
 
198
int
minNeighbors,
int
flags,
 
200
bool
outputRejectLevels ) = 0;
 
202
virtual
bool
isOldFormatCascade() const = 0;
 
203
virtual
Size
getOriginalWindowSize() const = 0;
 
204
virtual
int
getFeatureType() const = 0;
 
205
virtual
void* getOldCascade() = 0;
 
211
virtual
Mat
generateMask(
const
Mat& src)=0;
 
212
virtual
void
initializeMask(
const
Mat&
) { }
 
236
CV_WRAP
bool
empty()
const;
 
243
CV_WRAP
bool
load(
const
String& filename );
 
270
CV_WRAP
void
detectMultiScale( InputArray image,
 
271
CV_OUT std::vector<Rect>& objects,
 
272
double
scaleFactor = 1.1,
 
273
int
minNeighbors = 3,
int
flags = 0,
 
292
CV_WRAP_AS(detectMultiScale2)
void
detectMultiScale( InputArray image,
 
293
CV_OUT std::vector<Rect>& objects,
 
294
CV_OUT std::vector<int>& numDetections,
 
295
double
scaleFactor=1.1,
 
296
int
minNeighbors=3,
int
flags=0,
 
317
CV_WRAP_AS(detectMultiScale3)
void
detectMultiScale( InputArray image,
 
318
CV_OUT std::vector<Rect>& objects,
 
319
CV_OUT std::vector<int>& rejectLevels,
 
320
CV_OUT std::vector<double>& levelWeights,
 
321
double
scaleFactor = 1.1,
 
322
int
minNeighbors = 3,
int
flags = 0,
 
325
bool
outputRejectLevels =
false
);
 
327
CV_WRAP
bool
isOldFormatCascade()
const;
 
328
CV_WRAP
Size
getOriginalWindowSize()
const;
 
329
CV_WRAP
int
getFeatureType()
const;
 
330
void* getOldCascade();
 
332
CV_WRAP
static
bool
convert(
const
String& oldcascade,
const
String& newcascade);
 
377
enum
{ DEFAULT_NLEVELS = 64
 
379
enum
DescriptorStorageFormat { DESCR_FORMAT_COL_BY_COL, DESCR_FORMAT_ROW_BY_ROW };
 
385
CV_WRAP
HOGDescriptor() : winSize(64,128), blockSize(16,16), blockStride(8,8),
 
386
cellSize(8,8), nbins(9), derivAperture(1), winSigma(-1),
 
388
free_coef(-1.f), nlevels(
HOGDescriptor::DEFAULT_NLEVELS), signedGradient(false)
 
406
Size
_cellSize,
int
_nbins,
int
_derivAperture=1,
double
_winSigma=-1,
 
408
double
_L2HysThreshold=0.2,
bool
_gammaCorrection=
false,
 
410
: winSize(_winSize), blockSize(_blockSize), blockStride(_blockStride), cellSize(_cellSize),
 
411
nbins(_nbins), derivAperture(_derivAperture), winSigma(_winSigma),
 
412
histogramNormType(_histogramNormType), L2HysThreshold(_L2HysThreshold),
 
413
gammaCorrection(_gammaCorrection), free_coef(-1.f), nlevels(_nlevels), signedGradient(_signedGradient)
 
438
CV_WRAP
size_t
getDescriptorSize()
const;
 
442
CV_WRAP
bool
checkDetectorSize()
const;
 
446
CV_WRAP
double
getWinSigma()
const;
 
453
CV_WRAP
virtual
void
setSVMDetector(InputArray svmdetector);
 
470
CV_WRAP
virtual
bool
load(
const
String& filename,
const
String& objname = String());
 
476
CV_WRAP
virtual
void
save(
const
String& filename,
const
String& objname = String())
const;
 
492
CV_WRAP
virtual
void
compute(InputArray img,
 
493
CV_OUT std::vector<float>& descriptors,
 
495
const
std::vector<Point>& locations = std::vector<Point>())
const;
 
508
CV_WRAP
virtual
void
detect(InputArray img, CV_OUT std::vector<Point>& foundLocations,
 
509
CV_OUT std::vector<double>& weights,
 
510
double
hitThreshold = 0,
Size
winStride =
Size(),
 
512
const
std::vector<Point>& searchLocations = std::vector<Point>())
const;
 
524
virtual
void
detect(InputArray img, CV_OUT std::vector<Point>& foundLocations,
 
525
double
hitThreshold = 0,
Size
winStride =
Size(),
 
527
const
std::vector<Point>& searchLocations=std::vector<Point>())
const;
 
543
CV_WRAP
virtual
void
detectMultiScale(InputArray img, CV_OUT std::vector<Rect>& foundLocations,
 
544
CV_OUT std::vector<double>& foundWeights,
double
hitThreshold = 0,
 
546
double
finalThreshold = 2.0,
bool
useMeanshiftGrouping =
false)
const;
 
562
double
hitThreshold = 0,
Size
winStride =
Size(),
 
563
Size
padding =
Size(),
double
scale = 1.05,
 
564
double
finalThreshold = 2.0,
bool
useMeanshiftGrouping =
false)
const;
 
578
CV_WRAP
static
std::vector<float> getDefaultPeopleDetector();
 
584
CV_WRAP
static
std::vector<float> getDaimlerPeopleDetector();
 
602
CV_PROP
int
derivAperture;
 
605
CV_PROP
double
winSigma;
 
611
CV_PROP
double
L2HysThreshold;
 
617
CV_PROP std::vector<float> svmDetector;
 
629
CV_PROP
bool
signedGradient;
 
642
virtual
void
detectROI(InputArray img,
const
std::vector<cv::Point> &locations,
 
643
CV_OUT std::vector<cv::Point>& foundLocations, CV_OUT std::vector<double>& confidences,
 
656
CV_OUT std::vector<cv::Rect>& foundLocations,
 
657
std::vector<DetectionROI>& locations,
 
658
double
hitThreshold = 0,
 
659
int
groupThreshold = 0)
const;
 
667
void
groupRectangles(std::vector<cv::Rect>& rectList, std::vector<double>& weights,
int
groupThreshold,
double
eps)
const;
 
680
CV_WRAP
void
setEpsX(
double
epsX);
 
685
CV_WRAP
void
setEpsY(
double
epsY);
 
700
CV_WRAP std::string decode(InputArray img, InputArray points,
OutputArray
straight_qrcode = noArray());
 
709
CV_WRAP cv::String decodeCurved(InputArray img, InputArray points,
OutputArray
straight_qrcode = noArray());
 
717
CV_WRAP std::string detectAndDecode(InputArray img,
OutputArray
points=noArray(),
 
726
CV_WRAP std::string detectAndDecodeCurved(InputArray img,
OutputArray
points=noArray(),
 
744
InputArray img, InputArray points,
 
745
CV_OUT std::vector<std::string>& decoded_info,
 
757
InputArray img, CV_OUT std::vector<std::string>& decoded_info,
 
770
#include "opencv2/objdetect/detection_based_tracker.hpp"
 
This type is very similar to InputArray except that it is used for input/output and output function p...
Definition:
mat.hpp:295
 
This is a base class for all more or less complex algorithms in OpenCV
Definition:
core.hpp:3091
 
Definition:
objdetect.hpp:208
 
Definition:
objdetect.hpp:175
 
virtual bool empty() const CV_OVERRIDE=0
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read
 
Cascade classifier class for object detection.
Definition:
objdetect.hpp:225
 
CV_WRAP_AS(detectMultiScale3) void detectMultiScale(InputArray image
 
CV_WRAP_AS(detectMultiScale2) void detectMultiScale(InputArray image
 
File Storage Node class.
Definition:
persistence.hpp:482
 
XML/YAML/JSON file storage class that encapsulates all the information necessary for writing or readi...
Definition:
persistence.hpp:304
 
n-dimensional dense array class
Definition:
mat.hpp:802
 
Definition:
objdetect.hpp:671
 
CV_WRAP bool decodeMulti(InputArray img, InputArray points, CV_OUT std::vector< std::string > &decoded_info, OutputArrayOfArrays straight_qrcode=noArray()) const
Decodes QR codes in image once it's found by the detect() method.
 
CV_WRAP bool detectMulti(InputArray img, OutputArray points) const
Detects QR codes in image and returns the vector of the quadrangles containing the codes.
 
CV_WRAP bool detectAndDecodeMulti(InputArray img, CV_OUT std::vector< std::string > &decoded_info, OutputArray points=noArray(), OutputArrayOfArrays straight_qrcode=noArray()) const
Both detects and decodes QR codes
 
Template class for 2D rectangles
Definition:
core/types.hpp:421
 
_Tp x
x coordinate of the top-left corner
Definition:
core/types.hpp:453
 
_Tp y
y coordinate of the top-left corner
Definition:
core/types.hpp:454
 
_Tp width
width of the rectangle
Definition:
core/types.hpp:455
 
_Tp height
height of the rectangle
Definition:
core/types.hpp:456
 
Definition:
objdetect.hpp:122
 
Template class for specifying the size of an image or rectangle.
Definition:
core/types.hpp:316
 
CV_EXPORTS_W void min(InputArray src1, InputArray src2, OutputArray dst)
Calculates per-element minimum of two arrays or an array and a scalar.
 
softfloat abs(softfloat a)
Absolute value
Definition:
softfloat.hpp:444
 
CV_EXPORTS void groupRectangles_meanshift(std::vector< Rect > &rectList, std::vector< double > &foundWeights, std::vector< double > &foundScales, double detectThreshold=0.0, Size winDetSize=Size(64, 128))
 
CV_EXPORTS void groupRectangles(std::vector< Rect > &rectList, int groupThreshold, double eps=0.2)
Groups the object candidate rectangles.
 
"black box" representation of the file storage associated with a file on disk.
Definition:
aruco.hpp:75
 
Definition:
cvstd_wrapper.hpp:32
 
struct for detection region of interest (ROI)
Definition:
objdetect.hpp:346
 
std::vector< double > confidences
vector that will contain confidence values for each location
Definition:
objdetect.hpp:352
 
double scale
scale(size) of the bounding box
Definition:
objdetect.hpp:348
 
std::vector< cv::Point > locations
set of requested locations to be evaluated
Definition:
objdetect.hpp:350
 
Implementation of HOG (Histogram of Oriented Gradients) descriptor and object detector.
Definition:
objdetect.hpp:373
 
@ DEFAULT_NLEVELS
Default nlevels value.
Definition:
objdetect.hpp:377
 
virtual bool read(FileNode &fn)
Reads HOGDescriptor parameters from a cv::FileNode.
 
virtual void detectMultiScale(InputArray img, CV_OUT std::vector< Rect > &foundLocations, double hitThreshold=0, Size winStride=Size(), Size padding=Size(), double scale=1.05, double finalThreshold=2.0, bool useMeanshiftGrouping=false) const
Detects objects of different sizes in the input image. The detected objects are returned as a list of...
 
virtual void write(FileStorage &fs, const String &objname) const
Stores HOGDescriptor parameters in a cv::FileStorage.
 
UMat oclSvmDetector
coefficients for the linear SVM classifier used when OpenCL is enabled
Definition:
objdetect.hpp:620
 
float free_coef
not documented
Definition:
objdetect.hpp:623
 
virtual ~HOGDescriptor()
Default destructor.
Definition:
objdetect.hpp:434
 
virtual void detect(InputArray img, CV_OUT std::vector< Point > &foundLocations, double hitThreshold=0, Size winStride=Size(), Size padding=Size(), const std::vector< Point > &searchLocations=std::vector< Point >()) const
Performs object detection without a multi-scale window.
 
HistogramNormType
Definition:
objdetect.hpp:375
 
@ L2Hys
Default histogramNormType
Definition:
objdetect.hpp:375
 
virtual void copyTo(HOGDescriptor &c) const
clones the HOGDescriptor
 
HOGDescriptor(const HOGDescriptor &d)
Definition:
objdetect.hpp:427
 
virtual void detectROI(InputArray img, const std::vector< cv::Point > &locations, CV_OUT std::vector< cv::Point > &foundLocations, CV_OUT std::vector< double > &confidences, double hitThreshold=0, cv::Size winStride=Size(), cv::Size padding=Size()) const
evaluate specified ROI and return confidence value for each location
 
void groupRectangles(std::vector< cv::Rect > &rectList, std::vector< double > &weights, int groupThreshold, double eps) const
Groups the object candidate rectangles.
 
virtual void detectMultiScaleROI(InputArray img, CV_OUT std::vector< cv::Rect > &foundLocations, std::vector< DetectionROI > &locations, double hitThreshold=0, int groupThreshold=0) const
evaluate specified ROI and return confidence value for each location in multiple scales
 
Definition:
cvstd_wrapper.hpp:74