Health/Assets/OpenCVForUnity/org/opencv/objdetect/HOGDescriptor.cs

1270 lines
61 KiB
C#
Raw Normal View History

2023-11-07 13:55:35 +00:00
using OpenCVForUnity.CoreModule;
using OpenCVForUnity.UtilsModule;
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace OpenCVForUnity.ObjdetectModule
{
// C++: class HOGDescriptor
/**
* Implementation of HOG (Histogram of Oriented Gradients) descriptor and object detector.
*
* the HOG descriptor algorithm introduced by Navneet Dalal and Bill Triggs CITE: Dalal2005 .
*
* useful links:
*
* https://hal.inria.fr/inria-00548512/document/
*
* https://en.wikipedia.org/wiki/Histogram_of_oriented_gradients
*
* https://software.intel.com/en-us/ipp-dev-reference-histogram-of-oriented-gradients-hog-descriptor
*
* http://www.learnopencv.com/histogram-of-oriented-gradients
*
* http://www.learnopencv.com/handwritten-digits-classification-an-opencv-c-python-tutorial
*/
public class HOGDescriptor : DisposableOpenCVObject
{
protected override void Dispose(bool disposing)
{
try
{
if (disposing)
{
}
if (IsEnabledDispose)
{
if (nativeObj != IntPtr.Zero)
objdetect_HOGDescriptor_delete(nativeObj);
nativeObj = IntPtr.Zero;
}
}
finally
{
base.Dispose(disposing);
}
}
protected internal HOGDescriptor(IntPtr addr) : base(addr) { }
public IntPtr getNativeObjAddr() { return nativeObj; }
// internal usage only
public static HOGDescriptor __fromPtr__(IntPtr addr) { return new HOGDescriptor(addr); }
// C++: enum <unnamed>
public const int DEFAULT_NLEVELS = 64;
// C++: enum cv.HOGDescriptor.DescriptorStorageFormat
public const int DESCR_FORMAT_COL_BY_COL = 0;
public const int DESCR_FORMAT_ROW_BY_ROW = 1;
// C++: enum cv.HOGDescriptor.HistogramNormType
public const int L2Hys = 0;
//
// C++: cv::HOGDescriptor::HOGDescriptor()
//
/**
* Creates the HOG descriptor and detector with default parameters.
*
* aqual to HOGDescriptor(Size(64,128), Size(16,16), Size(8,8), Size(8,8), 9 )
*/
public HOGDescriptor()
{
nativeObj = DisposableObject.ThrowIfNullIntPtr(objdetect_HOGDescriptor_HOGDescriptor_10());
}
//
// C++: cv::HOGDescriptor::HOGDescriptor(Size _winSize, Size _blockSize, Size _blockStride, Size _cellSize, int _nbins, int _derivAperture = 1, double _winSigma = -1, HOGDescriptor_HistogramNormType _histogramNormType = HOGDescriptor::L2Hys, double _L2HysThreshold = 0.2, bool _gammaCorrection = false, int _nlevels = HOGDescriptor::DEFAULT_NLEVELS, bool _signedGradient = false)
//
/**
*
* param _winSize sets winSize with given value.
* param _blockSize sets blockSize with given value.
* param _blockStride sets blockStride with given value.
* param _cellSize sets cellSize with given value.
* param _nbins sets nbins with given value.
* param _derivAperture sets derivAperture with given value.
* param _winSigma sets winSigma with given value.
* param _histogramNormType sets histogramNormType with given value.
* param _L2HysThreshold sets L2HysThreshold with given value.
* param _gammaCorrection sets gammaCorrection with given value.
* param _nlevels sets nlevels with given value.
* param _signedGradient sets signedGradient with given value.
*/
public HOGDescriptor(Size _winSize, Size _blockSize, Size _blockStride, Size _cellSize, int _nbins, int _derivAperture, double _winSigma, int _histogramNormType, double _L2HysThreshold, bool _gammaCorrection, int _nlevels, bool _signedGradient)
{
nativeObj = DisposableObject.ThrowIfNullIntPtr(objdetect_HOGDescriptor_HOGDescriptor_11(_winSize.width, _winSize.height, _blockSize.width, _blockSize.height, _blockStride.width, _blockStride.height, _cellSize.width, _cellSize.height, _nbins, _derivAperture, _winSigma, _histogramNormType, _L2HysThreshold, _gammaCorrection, _nlevels, _signedGradient));
}
/**
*
* param _winSize sets winSize with given value.
* param _blockSize sets blockSize with given value.
* param _blockStride sets blockStride with given value.
* param _cellSize sets cellSize with given value.
* param _nbins sets nbins with given value.
* param _derivAperture sets derivAperture with given value.
* param _winSigma sets winSigma with given value.
* param _histogramNormType sets histogramNormType with given value.
* param _L2HysThreshold sets L2HysThreshold with given value.
* param _gammaCorrection sets gammaCorrection with given value.
* param _nlevels sets nlevels with given value.
*/
public HOGDescriptor(Size _winSize, Size _blockSize, Size _blockStride, Size _cellSize, int _nbins, int _derivAperture, double _winSigma, int _histogramNormType, double _L2HysThreshold, bool _gammaCorrection, int _nlevels)
{
nativeObj = DisposableObject.ThrowIfNullIntPtr(objdetect_HOGDescriptor_HOGDescriptor_12(_winSize.width, _winSize.height, _blockSize.width, _blockSize.height, _blockStride.width, _blockStride.height, _cellSize.width, _cellSize.height, _nbins, _derivAperture, _winSigma, _histogramNormType, _L2HysThreshold, _gammaCorrection, _nlevels));
}
/**
*
* param _winSize sets winSize with given value.
* param _blockSize sets blockSize with given value.
* param _blockStride sets blockStride with given value.
* param _cellSize sets cellSize with given value.
* param _nbins sets nbins with given value.
* param _derivAperture sets derivAperture with given value.
* param _winSigma sets winSigma with given value.
* param _histogramNormType sets histogramNormType with given value.
* param _L2HysThreshold sets L2HysThreshold with given value.
* param _gammaCorrection sets gammaCorrection with given value.
*/
public HOGDescriptor(Size _winSize, Size _blockSize, Size _blockStride, Size _cellSize, int _nbins, int _derivAperture, double _winSigma, int _histogramNormType, double _L2HysThreshold, bool _gammaCorrection)
{
nativeObj = DisposableObject.ThrowIfNullIntPtr(objdetect_HOGDescriptor_HOGDescriptor_13(_winSize.width, _winSize.height, _blockSize.width, _blockSize.height, _blockStride.width, _blockStride.height, _cellSize.width, _cellSize.height, _nbins, _derivAperture, _winSigma, _histogramNormType, _L2HysThreshold, _gammaCorrection));
}
/**
*
* param _winSize sets winSize with given value.
* param _blockSize sets blockSize with given value.
* param _blockStride sets blockStride with given value.
* param _cellSize sets cellSize with given value.
* param _nbins sets nbins with given value.
* param _derivAperture sets derivAperture with given value.
* param _winSigma sets winSigma with given value.
* param _histogramNormType sets histogramNormType with given value.
* param _L2HysThreshold sets L2HysThreshold with given value.
*/
public HOGDescriptor(Size _winSize, Size _blockSize, Size _blockStride, Size _cellSize, int _nbins, int _derivAperture, double _winSigma, int _histogramNormType, double _L2HysThreshold)
{
nativeObj = DisposableObject.ThrowIfNullIntPtr(objdetect_HOGDescriptor_HOGDescriptor_14(_winSize.width, _winSize.height, _blockSize.width, _blockSize.height, _blockStride.width, _blockStride.height, _cellSize.width, _cellSize.height, _nbins, _derivAperture, _winSigma, _histogramNormType, _L2HysThreshold));
}
/**
*
* param _winSize sets winSize with given value.
* param _blockSize sets blockSize with given value.
* param _blockStride sets blockStride with given value.
* param _cellSize sets cellSize with given value.
* param _nbins sets nbins with given value.
* param _derivAperture sets derivAperture with given value.
* param _winSigma sets winSigma with given value.
* param _histogramNormType sets histogramNormType with given value.
*/
public HOGDescriptor(Size _winSize, Size _blockSize, Size _blockStride, Size _cellSize, int _nbins, int _derivAperture, double _winSigma, int _histogramNormType)
{
nativeObj = DisposableObject.ThrowIfNullIntPtr(objdetect_HOGDescriptor_HOGDescriptor_15(_winSize.width, _winSize.height, _blockSize.width, _blockSize.height, _blockStride.width, _blockStride.height, _cellSize.width, _cellSize.height, _nbins, _derivAperture, _winSigma, _histogramNormType));
}
/**
*
* param _winSize sets winSize with given value.
* param _blockSize sets blockSize with given value.
* param _blockStride sets blockStride with given value.
* param _cellSize sets cellSize with given value.
* param _nbins sets nbins with given value.
* param _derivAperture sets derivAperture with given value.
* param _winSigma sets winSigma with given value.
*/
public HOGDescriptor(Size _winSize, Size _blockSize, Size _blockStride, Size _cellSize, int _nbins, int _derivAperture, double _winSigma)
{
nativeObj = DisposableObject.ThrowIfNullIntPtr(objdetect_HOGDescriptor_HOGDescriptor_16(_winSize.width, _winSize.height, _blockSize.width, _blockSize.height, _blockStride.width, _blockStride.height, _cellSize.width, _cellSize.height, _nbins, _derivAperture, _winSigma));
}
/**
*
* param _winSize sets winSize with given value.
* param _blockSize sets blockSize with given value.
* param _blockStride sets blockStride with given value.
* param _cellSize sets cellSize with given value.
* param _nbins sets nbins with given value.
* param _derivAperture sets derivAperture with given value.
*/
public HOGDescriptor(Size _winSize, Size _blockSize, Size _blockStride, Size _cellSize, int _nbins, int _derivAperture)
{
nativeObj = DisposableObject.ThrowIfNullIntPtr(objdetect_HOGDescriptor_HOGDescriptor_17(_winSize.width, _winSize.height, _blockSize.width, _blockSize.height, _blockStride.width, _blockStride.height, _cellSize.width, _cellSize.height, _nbins, _derivAperture));
}
/**
*
* param _winSize sets winSize with given value.
* param _blockSize sets blockSize with given value.
* param _blockStride sets blockStride with given value.
* param _cellSize sets cellSize with given value.
* param _nbins sets nbins with given value.
*/
public HOGDescriptor(Size _winSize, Size _blockSize, Size _blockStride, Size _cellSize, int _nbins)
{
nativeObj = DisposableObject.ThrowIfNullIntPtr(objdetect_HOGDescriptor_HOGDescriptor_18(_winSize.width, _winSize.height, _blockSize.width, _blockSize.height, _blockStride.width, _blockStride.height, _cellSize.width, _cellSize.height, _nbins));
}
//
// C++: cv::HOGDescriptor::HOGDescriptor(String filename)
//
/**
*
*
* Creates the HOG descriptor and detector and loads HOGDescriptor parameters and coefficients for the linear SVM classifier from a file.
* param filename The file name containing HOGDescriptor properties and coefficients for the linear SVM classifier.
*/
public HOGDescriptor(string filename)
{
nativeObj = DisposableObject.ThrowIfNullIntPtr(objdetect_HOGDescriptor_HOGDescriptor_19(filename));
}
//
// C++: size_t cv::HOGDescriptor::getDescriptorSize()
//
/**
* Returns the number of coefficients required for the classification.
* return automatically generated
*/
public long getDescriptorSize()
{
ThrowIfDisposed();
return objdetect_HOGDescriptor_getDescriptorSize_10(nativeObj);
}
//
// C++: bool cv::HOGDescriptor::checkDetectorSize()
//
/**
* Checks if detector size equal to descriptor size.
* return automatically generated
*/
public bool checkDetectorSize()
{
ThrowIfDisposed();
return objdetect_HOGDescriptor_checkDetectorSize_10(nativeObj);
}
//
// C++: double cv::HOGDescriptor::getWinSigma()
//
/**
* Returns winSigma value
* return automatically generated
*/
public double getWinSigma()
{
ThrowIfDisposed();
return objdetect_HOGDescriptor_getWinSigma_10(nativeObj);
}
//
// C++: void cv::HOGDescriptor::setSVMDetector(Mat svmdetector)
//
/**
* Sets coefficients for the linear SVM classifier.
* param svmdetector coefficients for the linear SVM classifier.
*/
public void setSVMDetector(Mat svmdetector)
{
ThrowIfDisposed();
if (svmdetector != null) svmdetector.ThrowIfDisposed();
objdetect_HOGDescriptor_setSVMDetector_10(nativeObj, svmdetector.nativeObj);
}
//
// C++: bool cv::HOGDescriptor::load(String filename, String objname = String())
//
/**
* loads HOGDescriptor parameters and coefficients for the linear SVM classifier from a file
* param filename Name of the file to read.
* param objname The optional name of the node to read (if empty, the first top-level node will be used).
* return automatically generated
*/
public bool load(string filename, string objname)
{
ThrowIfDisposed();
return objdetect_HOGDescriptor_load_10(nativeObj, filename, objname);
}
/**
* loads HOGDescriptor parameters and coefficients for the linear SVM classifier from a file
* param filename Name of the file to read.
* return automatically generated
*/
public bool load(string filename)
{
ThrowIfDisposed();
return objdetect_HOGDescriptor_load_11(nativeObj, filename);
}
//
// C++: void cv::HOGDescriptor::save(String filename, String objname = String())
//
/**
* saves HOGDescriptor parameters and coefficients for the linear SVM classifier to a file
* param filename File name
* param objname Object name
*/
public void save(string filename, string objname)
{
ThrowIfDisposed();
objdetect_HOGDescriptor_save_10(nativeObj, filename, objname);
}
/**
* saves HOGDescriptor parameters and coefficients for the linear SVM classifier to a file
* param filename File name
*/
public void save(string filename)
{
ThrowIfDisposed();
objdetect_HOGDescriptor_save_11(nativeObj, filename);
}
//
// C++: void cv::HOGDescriptor::compute(Mat img, vector_float& descriptors, Size winStride = Size(), Size padding = Size(), vector_Point locations = std::vector<Point>())
//
/**
* Computes HOG descriptors of given image.
* param img Matrix of the type CV_8U containing an image where HOG features will be calculated.
* param descriptors Matrix of the type CV_32F
* param winStride Window stride. It must be a multiple of block stride.
* param padding Padding
* param locations Vector of Point
*/
public void compute(Mat img, MatOfFloat descriptors, Size winStride, Size padding, MatOfPoint locations)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (descriptors != null) descriptors.ThrowIfDisposed();
if (locations != null) locations.ThrowIfDisposed();
Mat descriptors_mat = descriptors;
Mat locations_mat = locations;
objdetect_HOGDescriptor_compute_10(nativeObj, img.nativeObj, descriptors_mat.nativeObj, winStride.width, winStride.height, padding.width, padding.height, locations_mat.nativeObj);
}
/**
* Computes HOG descriptors of given image.
* param img Matrix of the type CV_8U containing an image where HOG features will be calculated.
* param descriptors Matrix of the type CV_32F
* param winStride Window stride. It must be a multiple of block stride.
* param padding Padding
*/
public void compute(Mat img, MatOfFloat descriptors, Size winStride, Size padding)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (descriptors != null) descriptors.ThrowIfDisposed();
Mat descriptors_mat = descriptors;
objdetect_HOGDescriptor_compute_11(nativeObj, img.nativeObj, descriptors_mat.nativeObj, winStride.width, winStride.height, padding.width, padding.height);
}
/**
* Computes HOG descriptors of given image.
* param img Matrix of the type CV_8U containing an image where HOG features will be calculated.
* param descriptors Matrix of the type CV_32F
* param winStride Window stride. It must be a multiple of block stride.
*/
public void compute(Mat img, MatOfFloat descriptors, Size winStride)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (descriptors != null) descriptors.ThrowIfDisposed();
Mat descriptors_mat = descriptors;
objdetect_HOGDescriptor_compute_12(nativeObj, img.nativeObj, descriptors_mat.nativeObj, winStride.width, winStride.height);
}
/**
* Computes HOG descriptors of given image.
* param img Matrix of the type CV_8U containing an image where HOG features will be calculated.
* param descriptors Matrix of the type CV_32F
*/
public void compute(Mat img, MatOfFloat descriptors)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (descriptors != null) descriptors.ThrowIfDisposed();
Mat descriptors_mat = descriptors;
objdetect_HOGDescriptor_compute_13(nativeObj, img.nativeObj, descriptors_mat.nativeObj);
}
//
// C++: void cv::HOGDescriptor::detect(Mat img, vector_Point& foundLocations, vector_double& weights, double hitThreshold = 0, Size winStride = Size(), Size padding = Size(), vector_Point searchLocations = std::vector<Point>())
//
/**
* Performs object detection without a multi-scale window.
* param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected.
* param foundLocations Vector of point where each point contains left-top corner point of detected object boundaries.
* param weights Vector that will contain confidence values for each detected object.
* param hitThreshold Threshold for the distance between features and SVM classifying plane.
* Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient).
* But if the free coefficient is omitted (which is allowed), you can specify it manually here.
* param winStride Window stride. It must be a multiple of block stride.
* param padding Padding
* param searchLocations Vector of Point includes set of requested locations to be evaluated.
*/
public void detect(Mat img, MatOfPoint foundLocations, MatOfDouble weights, double hitThreshold, Size winStride, Size padding, MatOfPoint searchLocations)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (foundLocations != null) foundLocations.ThrowIfDisposed();
if (weights != null) weights.ThrowIfDisposed();
if (searchLocations != null) searchLocations.ThrowIfDisposed();
Mat foundLocations_mat = foundLocations;
Mat weights_mat = weights;
Mat searchLocations_mat = searchLocations;
objdetect_HOGDescriptor_detect_10(nativeObj, img.nativeObj, foundLocations_mat.nativeObj, weights_mat.nativeObj, hitThreshold, winStride.width, winStride.height, padding.width, padding.height, searchLocations_mat.nativeObj);
}
/**
* Performs object detection without a multi-scale window.
* param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected.
* param foundLocations Vector of point where each point contains left-top corner point of detected object boundaries.
* param weights Vector that will contain confidence values for each detected object.
* param hitThreshold Threshold for the distance between features and SVM classifying plane.
* Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient).
* But if the free coefficient is omitted (which is allowed), you can specify it manually here.
* param winStride Window stride. It must be a multiple of block stride.
* param padding Padding
*/
public void detect(Mat img, MatOfPoint foundLocations, MatOfDouble weights, double hitThreshold, Size winStride, Size padding)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (foundLocations != null) foundLocations.ThrowIfDisposed();
if (weights != null) weights.ThrowIfDisposed();
Mat foundLocations_mat = foundLocations;
Mat weights_mat = weights;
objdetect_HOGDescriptor_detect_11(nativeObj, img.nativeObj, foundLocations_mat.nativeObj, weights_mat.nativeObj, hitThreshold, winStride.width, winStride.height, padding.width, padding.height);
}
/**
* Performs object detection without a multi-scale window.
* param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected.
* param foundLocations Vector of point where each point contains left-top corner point of detected object boundaries.
* param weights Vector that will contain confidence values for each detected object.
* param hitThreshold Threshold for the distance between features and SVM classifying plane.
* Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient).
* But if the free coefficient is omitted (which is allowed), you can specify it manually here.
* param winStride Window stride. It must be a multiple of block stride.
*/
public void detect(Mat img, MatOfPoint foundLocations, MatOfDouble weights, double hitThreshold, Size winStride)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (foundLocations != null) foundLocations.ThrowIfDisposed();
if (weights != null) weights.ThrowIfDisposed();
Mat foundLocations_mat = foundLocations;
Mat weights_mat = weights;
objdetect_HOGDescriptor_detect_12(nativeObj, img.nativeObj, foundLocations_mat.nativeObj, weights_mat.nativeObj, hitThreshold, winStride.width, winStride.height);
}
/**
* Performs object detection without a multi-scale window.
* param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected.
* param foundLocations Vector of point where each point contains left-top corner point of detected object boundaries.
* param weights Vector that will contain confidence values for each detected object.
* param hitThreshold Threshold for the distance between features and SVM classifying plane.
* Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient).
* But if the free coefficient is omitted (which is allowed), you can specify it manually here.
*/
public void detect(Mat img, MatOfPoint foundLocations, MatOfDouble weights, double hitThreshold)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (foundLocations != null) foundLocations.ThrowIfDisposed();
if (weights != null) weights.ThrowIfDisposed();
Mat foundLocations_mat = foundLocations;
Mat weights_mat = weights;
objdetect_HOGDescriptor_detect_13(nativeObj, img.nativeObj, foundLocations_mat.nativeObj, weights_mat.nativeObj, hitThreshold);
}
/**
* Performs object detection without a multi-scale window.
* param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected.
* param foundLocations Vector of point where each point contains left-top corner point of detected object boundaries.
* param weights Vector that will contain confidence values for each detected object.
* Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient).
* But if the free coefficient is omitted (which is allowed), you can specify it manually here.
*/
public void detect(Mat img, MatOfPoint foundLocations, MatOfDouble weights)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (foundLocations != null) foundLocations.ThrowIfDisposed();
if (weights != null) weights.ThrowIfDisposed();
Mat foundLocations_mat = foundLocations;
Mat weights_mat = weights;
objdetect_HOGDescriptor_detect_14(nativeObj, img.nativeObj, foundLocations_mat.nativeObj, weights_mat.nativeObj);
}
//
// C++: void cv::HOGDescriptor::detectMultiScale(Mat img, vector_Rect& foundLocations, vector_double& foundWeights, double hitThreshold = 0, Size winStride = Size(), Size padding = Size(), double scale = 1.05, double groupThreshold = 2.0, bool useMeanshiftGrouping = false)
//
/**
* Detects objects of different sizes in the input image. The detected objects are returned as a list
* of rectangles.
* param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected.
* param foundLocations Vector of rectangles where each rectangle contains the detected object.
* param foundWeights Vector that will contain confidence values for each detected object.
* param hitThreshold Threshold for the distance between features and SVM classifying plane.
* Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient).
* But if the free coefficient is omitted (which is allowed), you can specify it manually here.
* param winStride Window stride. It must be a multiple of block stride.
* param padding Padding
* param scale Coefficient of the detection window increase.
* param groupThreshold Coefficient to regulate the similarity threshold. When detected, some objects can be covered
* by many rectangles. 0 means not to perform grouping.
* param useMeanshiftGrouping indicates grouping algorithm
*/
public void detectMultiScale(Mat img, MatOfRect foundLocations, MatOfDouble foundWeights, double hitThreshold, Size winStride, Size padding, double scale, double groupThreshold, bool useMeanshiftGrouping)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (foundLocations != null) foundLocations.ThrowIfDisposed();
if (foundWeights != null) foundWeights.ThrowIfDisposed();
Mat foundLocations_mat = foundLocations;
Mat foundWeights_mat = foundWeights;
objdetect_HOGDescriptor_detectMultiScale_10(nativeObj, img.nativeObj, foundLocations_mat.nativeObj, foundWeights_mat.nativeObj, hitThreshold, winStride.width, winStride.height, padding.width, padding.height, scale, groupThreshold, useMeanshiftGrouping);
}
/**
* Detects objects of different sizes in the input image. The detected objects are returned as a list
* of rectangles.
* param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected.
* param foundLocations Vector of rectangles where each rectangle contains the detected object.
* param foundWeights Vector that will contain confidence values for each detected object.
* param hitThreshold Threshold for the distance between features and SVM classifying plane.
* Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient).
* But if the free coefficient is omitted (which is allowed), you can specify it manually here.
* param winStride Window stride. It must be a multiple of block stride.
* param padding Padding
* param scale Coefficient of the detection window increase.
* param groupThreshold Coefficient to regulate the similarity threshold. When detected, some objects can be covered
* by many rectangles. 0 means not to perform grouping.
*/
public void detectMultiScale(Mat img, MatOfRect foundLocations, MatOfDouble foundWeights, double hitThreshold, Size winStride, Size padding, double scale, double groupThreshold)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (foundLocations != null) foundLocations.ThrowIfDisposed();
if (foundWeights != null) foundWeights.ThrowIfDisposed();
Mat foundLocations_mat = foundLocations;
Mat foundWeights_mat = foundWeights;
objdetect_HOGDescriptor_detectMultiScale_11(nativeObj, img.nativeObj, foundLocations_mat.nativeObj, foundWeights_mat.nativeObj, hitThreshold, winStride.width, winStride.height, padding.width, padding.height, scale, groupThreshold);
}
/**
* Detects objects of different sizes in the input image. The detected objects are returned as a list
* of rectangles.
* param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected.
* param foundLocations Vector of rectangles where each rectangle contains the detected object.
* param foundWeights Vector that will contain confidence values for each detected object.
* param hitThreshold Threshold for the distance between features and SVM classifying plane.
* Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient).
* But if the free coefficient is omitted (which is allowed), you can specify it manually here.
* param winStride Window stride. It must be a multiple of block stride.
* param padding Padding
* param scale Coefficient of the detection window increase.
* by many rectangles. 0 means not to perform grouping.
*/
public void detectMultiScale(Mat img, MatOfRect foundLocations, MatOfDouble foundWeights, double hitThreshold, Size winStride, Size padding, double scale)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (foundLocations != null) foundLocations.ThrowIfDisposed();
if (foundWeights != null) foundWeights.ThrowIfDisposed();
Mat foundLocations_mat = foundLocations;
Mat foundWeights_mat = foundWeights;
objdetect_HOGDescriptor_detectMultiScale_12(nativeObj, img.nativeObj, foundLocations_mat.nativeObj, foundWeights_mat.nativeObj, hitThreshold, winStride.width, winStride.height, padding.width, padding.height, scale);
}
/**
* Detects objects of different sizes in the input image. The detected objects are returned as a list
* of rectangles.
* param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected.
* param foundLocations Vector of rectangles where each rectangle contains the detected object.
* param foundWeights Vector that will contain confidence values for each detected object.
* param hitThreshold Threshold for the distance between features and SVM classifying plane.
* Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient).
* But if the free coefficient is omitted (which is allowed), you can specify it manually here.
* param winStride Window stride. It must be a multiple of block stride.
* param padding Padding
* by many rectangles. 0 means not to perform grouping.
*/
public void detectMultiScale(Mat img, MatOfRect foundLocations, MatOfDouble foundWeights, double hitThreshold, Size winStride, Size padding)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (foundLocations != null) foundLocations.ThrowIfDisposed();
if (foundWeights != null) foundWeights.ThrowIfDisposed();
Mat foundLocations_mat = foundLocations;
Mat foundWeights_mat = foundWeights;
objdetect_HOGDescriptor_detectMultiScale_13(nativeObj, img.nativeObj, foundLocations_mat.nativeObj, foundWeights_mat.nativeObj, hitThreshold, winStride.width, winStride.height, padding.width, padding.height);
}
/**
* Detects objects of different sizes in the input image. The detected objects are returned as a list
* of rectangles.
* param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected.
* param foundLocations Vector of rectangles where each rectangle contains the detected object.
* param foundWeights Vector that will contain confidence values for each detected object.
* param hitThreshold Threshold for the distance between features and SVM classifying plane.
* Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient).
* But if the free coefficient is omitted (which is allowed), you can specify it manually here.
* param winStride Window stride. It must be a multiple of block stride.
* by many rectangles. 0 means not to perform grouping.
*/
public void detectMultiScale(Mat img, MatOfRect foundLocations, MatOfDouble foundWeights, double hitThreshold, Size winStride)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (foundLocations != null) foundLocations.ThrowIfDisposed();
if (foundWeights != null) foundWeights.ThrowIfDisposed();
Mat foundLocations_mat = foundLocations;
Mat foundWeights_mat = foundWeights;
objdetect_HOGDescriptor_detectMultiScale_14(nativeObj, img.nativeObj, foundLocations_mat.nativeObj, foundWeights_mat.nativeObj, hitThreshold, winStride.width, winStride.height);
}
/**
* Detects objects of different sizes in the input image. The detected objects are returned as a list
* of rectangles.
* param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected.
* param foundLocations Vector of rectangles where each rectangle contains the detected object.
* param foundWeights Vector that will contain confidence values for each detected object.
* param hitThreshold Threshold for the distance between features and SVM classifying plane.
* Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient).
* But if the free coefficient is omitted (which is allowed), you can specify it manually here.
* by many rectangles. 0 means not to perform grouping.
*/
public void detectMultiScale(Mat img, MatOfRect foundLocations, MatOfDouble foundWeights, double hitThreshold)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (foundLocations != null) foundLocations.ThrowIfDisposed();
if (foundWeights != null) foundWeights.ThrowIfDisposed();
Mat foundLocations_mat = foundLocations;
Mat foundWeights_mat = foundWeights;
objdetect_HOGDescriptor_detectMultiScale_15(nativeObj, img.nativeObj, foundLocations_mat.nativeObj, foundWeights_mat.nativeObj, hitThreshold);
}
/**
* Detects objects of different sizes in the input image. The detected objects are returned as a list
* of rectangles.
* param img Matrix of the type CV_8U or CV_8UC3 containing an image where objects are detected.
* param foundLocations Vector of rectangles where each rectangle contains the detected object.
* param foundWeights Vector that will contain confidence values for each detected object.
* Usually it is 0 and should be specified in the detector coefficients (as the last free coefficient).
* But if the free coefficient is omitted (which is allowed), you can specify it manually here.
* by many rectangles. 0 means not to perform grouping.
*/
public void detectMultiScale(Mat img, MatOfRect foundLocations, MatOfDouble foundWeights)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (foundLocations != null) foundLocations.ThrowIfDisposed();
if (foundWeights != null) foundWeights.ThrowIfDisposed();
Mat foundLocations_mat = foundLocations;
Mat foundWeights_mat = foundWeights;
objdetect_HOGDescriptor_detectMultiScale_16(nativeObj, img.nativeObj, foundLocations_mat.nativeObj, foundWeights_mat.nativeObj);
}
//
// C++: void cv::HOGDescriptor::computeGradient(Mat img, Mat& grad, Mat& angleOfs, Size paddingTL = Size(), Size paddingBR = Size())
//
/**
* Computes gradients and quantized gradient orientations.
* param img Matrix contains the image to be computed
* param grad Matrix of type CV_32FC2 contains computed gradients
* param angleOfs Matrix of type CV_8UC2 contains quantized gradient orientations
* param paddingTL Padding from top-left
* param paddingBR Padding from bottom-right
*/
public void computeGradient(Mat img, Mat grad, Mat angleOfs, Size paddingTL, Size paddingBR)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (grad != null) grad.ThrowIfDisposed();
if (angleOfs != null) angleOfs.ThrowIfDisposed();
objdetect_HOGDescriptor_computeGradient_10(nativeObj, img.nativeObj, grad.nativeObj, angleOfs.nativeObj, paddingTL.width, paddingTL.height, paddingBR.width, paddingBR.height);
}
/**
* Computes gradients and quantized gradient orientations.
* param img Matrix contains the image to be computed
* param grad Matrix of type CV_32FC2 contains computed gradients
* param angleOfs Matrix of type CV_8UC2 contains quantized gradient orientations
* param paddingTL Padding from top-left
*/
public void computeGradient(Mat img, Mat grad, Mat angleOfs, Size paddingTL)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (grad != null) grad.ThrowIfDisposed();
if (angleOfs != null) angleOfs.ThrowIfDisposed();
objdetect_HOGDescriptor_computeGradient_11(nativeObj, img.nativeObj, grad.nativeObj, angleOfs.nativeObj, paddingTL.width, paddingTL.height);
}
/**
* Computes gradients and quantized gradient orientations.
* param img Matrix contains the image to be computed
* param grad Matrix of type CV_32FC2 contains computed gradients
* param angleOfs Matrix of type CV_8UC2 contains quantized gradient orientations
*/
public void computeGradient(Mat img, Mat grad, Mat angleOfs)
{
ThrowIfDisposed();
if (img != null) img.ThrowIfDisposed();
if (grad != null) grad.ThrowIfDisposed();
if (angleOfs != null) angleOfs.ThrowIfDisposed();
objdetect_HOGDescriptor_computeGradient_12(nativeObj, img.nativeObj, grad.nativeObj, angleOfs.nativeObj);
}
//
// C++: static vector_float cv::HOGDescriptor::getDefaultPeopleDetector()
//
/**
* Returns coefficients of the classifier trained for people detection (for 64x128 windows).
* return automatically generated
*/
public static MatOfFloat getDefaultPeopleDetector()
{
return MatOfFloat.fromNativeAddr(DisposableObject.ThrowIfNullIntPtr(objdetect_HOGDescriptor_getDefaultPeopleDetector_10()));
}
//
// C++: static vector_float cv::HOGDescriptor::getDaimlerPeopleDetector()
//
/**
* Returns coefficients of the classifier trained for people detection (for 48x96 windows).
* return automatically generated
*/
public static MatOfFloat getDaimlerPeopleDetector()
{
return MatOfFloat.fromNativeAddr(DisposableObject.ThrowIfNullIntPtr(objdetect_HOGDescriptor_getDaimlerPeopleDetector_10()));
}
//
// C++: Size HOGDescriptor::winSize
//
public Size get_winSize()
{
ThrowIfDisposed();
double[] tmpArray = new double[2];
objdetect_HOGDescriptor_get_1winSize_10(nativeObj, tmpArray);
Size retVal = new Size(tmpArray);
return retVal;
}
//
// C++: Size HOGDescriptor::blockSize
//
public Size get_blockSize()
{
ThrowIfDisposed();
double[] tmpArray = new double[2];
objdetect_HOGDescriptor_get_1blockSize_10(nativeObj, tmpArray);
Size retVal = new Size(tmpArray);
return retVal;
}
//
// C++: Size HOGDescriptor::blockStride
//
public Size get_blockStride()
{
ThrowIfDisposed();
double[] tmpArray = new double[2];
objdetect_HOGDescriptor_get_1blockStride_10(nativeObj, tmpArray);
Size retVal = new Size(tmpArray);
return retVal;
}
//
// C++: Size HOGDescriptor::cellSize
//
public Size get_cellSize()
{
ThrowIfDisposed();
double[] tmpArray = new double[2];
objdetect_HOGDescriptor_get_1cellSize_10(nativeObj, tmpArray);
Size retVal = new Size(tmpArray);
return retVal;
}
//
// C++: int HOGDescriptor::nbins
//
public int get_nbins()
{
ThrowIfDisposed();
return objdetect_HOGDescriptor_get_1nbins_10(nativeObj);
}
//
// C++: int HOGDescriptor::derivAperture
//
public int get_derivAperture()
{
ThrowIfDisposed();
return objdetect_HOGDescriptor_get_1derivAperture_10(nativeObj);
}
//
// C++: double HOGDescriptor::winSigma
//
public double get_winSigma()
{
ThrowIfDisposed();
return objdetect_HOGDescriptor_get_1winSigma_10(nativeObj);
}
//
// C++: HOGDescriptor_HistogramNormType HOGDescriptor::histogramNormType
//
public int get_histogramNormType()
{
ThrowIfDisposed();
return objdetect_HOGDescriptor_get_1histogramNormType_10(nativeObj);
}
//
// C++: double HOGDescriptor::L2HysThreshold
//
public double get_L2HysThreshold()
{
ThrowIfDisposed();
return objdetect_HOGDescriptor_get_1L2HysThreshold_10(nativeObj);
}
//
// C++: bool HOGDescriptor::gammaCorrection
//
public bool get_gammaCorrection()
{
ThrowIfDisposed();
return objdetect_HOGDescriptor_get_1gammaCorrection_10(nativeObj);
}
//
// C++: vector_float HOGDescriptor::svmDetector
//
public MatOfFloat get_svmDetector()
{
ThrowIfDisposed();
return MatOfFloat.fromNativeAddr(DisposableObject.ThrowIfNullIntPtr(objdetect_HOGDescriptor_get_1svmDetector_10(nativeObj)));
}
//
// C++: int HOGDescriptor::nlevels
//
public int get_nlevels()
{
ThrowIfDisposed();
return objdetect_HOGDescriptor_get_1nlevels_10(nativeObj);
}
//
// C++: bool HOGDescriptor::signedGradient
//
public bool get_signedGradient()
{
ThrowIfDisposed();
return objdetect_HOGDescriptor_get_1signedGradient_10(nativeObj);
}
#if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR
const string LIBNAME = "__Internal";
#else
const string LIBNAME = "opencvforunity";
#endif
// C++: cv::HOGDescriptor::HOGDescriptor()
[DllImport(LIBNAME)]
private static extern IntPtr objdetect_HOGDescriptor_HOGDescriptor_10();
// C++: cv::HOGDescriptor::HOGDescriptor(Size _winSize, Size _blockSize, Size _blockStride, Size _cellSize, int _nbins, int _derivAperture = 1, double _winSigma = -1, HOGDescriptor_HistogramNormType _histogramNormType = HOGDescriptor::L2Hys, double _L2HysThreshold = 0.2, bool _gammaCorrection = false, int _nlevels = HOGDescriptor::DEFAULT_NLEVELS, bool _signedGradient = false)
[DllImport(LIBNAME)]
private static extern IntPtr objdetect_HOGDescriptor_HOGDescriptor_11(double _winSize_width, double _winSize_height, double _blockSize_width, double _blockSize_height, double _blockStride_width, double _blockStride_height, double _cellSize_width, double _cellSize_height, int _nbins, int _derivAperture, double _winSigma, int _histogramNormType, double _L2HysThreshold, [MarshalAs(UnmanagedType.U1)] bool _gammaCorrection, int _nlevels, [MarshalAs(UnmanagedType.U1)] bool _signedGradient);
[DllImport(LIBNAME)]
private static extern IntPtr objdetect_HOGDescriptor_HOGDescriptor_12(double _winSize_width, double _winSize_height, double _blockSize_width, double _blockSize_height, double _blockStride_width, double _blockStride_height, double _cellSize_width, double _cellSize_height, int _nbins, int _derivAperture, double _winSigma, int _histogramNormType, double _L2HysThreshold, [MarshalAs(UnmanagedType.U1)] bool _gammaCorrection, int _nlevels);
[DllImport(LIBNAME)]
private static extern IntPtr objdetect_HOGDescriptor_HOGDescriptor_13(double _winSize_width, double _winSize_height, double _blockSize_width, double _blockSize_height, double _blockStride_width, double _blockStride_height, double _cellSize_width, double _cellSize_height, int _nbins, int _derivAperture, double _winSigma, int _histogramNormType, double _L2HysThreshold, [MarshalAs(UnmanagedType.U1)] bool _gammaCorrection);
[DllImport(LIBNAME)]
private static extern IntPtr objdetect_HOGDescriptor_HOGDescriptor_14(double _winSize_width, double _winSize_height, double _blockSize_width, double _blockSize_height, double _blockStride_width, double _blockStride_height, double _cellSize_width, double _cellSize_height, int _nbins, int _derivAperture, double _winSigma, int _histogramNormType, double _L2HysThreshold);
[DllImport(LIBNAME)]
private static extern IntPtr objdetect_HOGDescriptor_HOGDescriptor_15(double _winSize_width, double _winSize_height, double _blockSize_width, double _blockSize_height, double _blockStride_width, double _blockStride_height, double _cellSize_width, double _cellSize_height, int _nbins, int _derivAperture, double _winSigma, int _histogramNormType);
[DllImport(LIBNAME)]
private static extern IntPtr objdetect_HOGDescriptor_HOGDescriptor_16(double _winSize_width, double _winSize_height, double _blockSize_width, double _blockSize_height, double _blockStride_width, double _blockStride_height, double _cellSize_width, double _cellSize_height, int _nbins, int _derivAperture, double _winSigma);
[DllImport(LIBNAME)]
private static extern IntPtr objdetect_HOGDescriptor_HOGDescriptor_17(double _winSize_width, double _winSize_height, double _blockSize_width, double _blockSize_height, double _blockStride_width, double _blockStride_height, double _cellSize_width, double _cellSize_height, int _nbins, int _derivAperture);
[DllImport(LIBNAME)]
private static extern IntPtr objdetect_HOGDescriptor_HOGDescriptor_18(double _winSize_width, double _winSize_height, double _blockSize_width, double _blockSize_height, double _blockStride_width, double _blockStride_height, double _cellSize_width, double _cellSize_height, int _nbins);
// C++: cv::HOGDescriptor::HOGDescriptor(String filename)
[DllImport(LIBNAME)]
private static extern IntPtr objdetect_HOGDescriptor_HOGDescriptor_19(string filename);
// C++: size_t cv::HOGDescriptor::getDescriptorSize()
[DllImport(LIBNAME)]
private static extern long objdetect_HOGDescriptor_getDescriptorSize_10(IntPtr nativeObj);
// C++: bool cv::HOGDescriptor::checkDetectorSize()
[DllImport(LIBNAME)]
[return: MarshalAs(UnmanagedType.U1)]
private static extern bool objdetect_HOGDescriptor_checkDetectorSize_10(IntPtr nativeObj);
// C++: double cv::HOGDescriptor::getWinSigma()
[DllImport(LIBNAME)]
private static extern double objdetect_HOGDescriptor_getWinSigma_10(IntPtr nativeObj);
// C++: void cv::HOGDescriptor::setSVMDetector(Mat svmdetector)
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_setSVMDetector_10(IntPtr nativeObj, IntPtr svmdetector_nativeObj);
// C++: bool cv::HOGDescriptor::load(String filename, String objname = String())
[DllImport(LIBNAME)]
[return: MarshalAs(UnmanagedType.U1)]
private static extern bool objdetect_HOGDescriptor_load_10(IntPtr nativeObj, string filename, string objname);
[DllImport(LIBNAME)]
[return: MarshalAs(UnmanagedType.U1)]
private static extern bool objdetect_HOGDescriptor_load_11(IntPtr nativeObj, string filename);
// C++: void cv::HOGDescriptor::save(String filename, String objname = String())
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_save_10(IntPtr nativeObj, string filename, string objname);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_save_11(IntPtr nativeObj, string filename);
// C++: void cv::HOGDescriptor::compute(Mat img, vector_float& descriptors, Size winStride = Size(), Size padding = Size(), vector_Point locations = std::vector<Point>())
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_compute_10(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr descriptors_mat_nativeObj, double winStride_width, double winStride_height, double padding_width, double padding_height, IntPtr locations_mat_nativeObj);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_compute_11(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr descriptors_mat_nativeObj, double winStride_width, double winStride_height, double padding_width, double padding_height);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_compute_12(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr descriptors_mat_nativeObj, double winStride_width, double winStride_height);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_compute_13(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr descriptors_mat_nativeObj);
// C++: void cv::HOGDescriptor::detect(Mat img, vector_Point& foundLocations, vector_double& weights, double hitThreshold = 0, Size winStride = Size(), Size padding = Size(), vector_Point searchLocations = std::vector<Point>())
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_detect_10(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr foundLocations_mat_nativeObj, IntPtr weights_mat_nativeObj, double hitThreshold, double winStride_width, double winStride_height, double padding_width, double padding_height, IntPtr searchLocations_mat_nativeObj);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_detect_11(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr foundLocations_mat_nativeObj, IntPtr weights_mat_nativeObj, double hitThreshold, double winStride_width, double winStride_height, double padding_width, double padding_height);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_detect_12(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr foundLocations_mat_nativeObj, IntPtr weights_mat_nativeObj, double hitThreshold, double winStride_width, double winStride_height);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_detect_13(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr foundLocations_mat_nativeObj, IntPtr weights_mat_nativeObj, double hitThreshold);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_detect_14(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr foundLocations_mat_nativeObj, IntPtr weights_mat_nativeObj);
// C++: void cv::HOGDescriptor::detectMultiScale(Mat img, vector_Rect& foundLocations, vector_double& foundWeights, double hitThreshold = 0, Size winStride = Size(), Size padding = Size(), double scale = 1.05, double groupThreshold = 2.0, bool useMeanshiftGrouping = false)
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_detectMultiScale_10(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr foundLocations_mat_nativeObj, IntPtr foundWeights_mat_nativeObj, double hitThreshold, double winStride_width, double winStride_height, double padding_width, double padding_height, double scale, double groupThreshold, [MarshalAs(UnmanagedType.U1)] bool useMeanshiftGrouping);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_detectMultiScale_11(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr foundLocations_mat_nativeObj, IntPtr foundWeights_mat_nativeObj, double hitThreshold, double winStride_width, double winStride_height, double padding_width, double padding_height, double scale, double groupThreshold);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_detectMultiScale_12(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr foundLocations_mat_nativeObj, IntPtr foundWeights_mat_nativeObj, double hitThreshold, double winStride_width, double winStride_height, double padding_width, double padding_height, double scale);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_detectMultiScale_13(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr foundLocations_mat_nativeObj, IntPtr foundWeights_mat_nativeObj, double hitThreshold, double winStride_width, double winStride_height, double padding_width, double padding_height);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_detectMultiScale_14(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr foundLocations_mat_nativeObj, IntPtr foundWeights_mat_nativeObj, double hitThreshold, double winStride_width, double winStride_height);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_detectMultiScale_15(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr foundLocations_mat_nativeObj, IntPtr foundWeights_mat_nativeObj, double hitThreshold);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_detectMultiScale_16(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr foundLocations_mat_nativeObj, IntPtr foundWeights_mat_nativeObj);
// C++: void cv::HOGDescriptor::computeGradient(Mat img, Mat& grad, Mat& angleOfs, Size paddingTL = Size(), Size paddingBR = Size())
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_computeGradient_10(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr grad_nativeObj, IntPtr angleOfs_nativeObj, double paddingTL_width, double paddingTL_height, double paddingBR_width, double paddingBR_height);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_computeGradient_11(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr grad_nativeObj, IntPtr angleOfs_nativeObj, double paddingTL_width, double paddingTL_height);
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_computeGradient_12(IntPtr nativeObj, IntPtr img_nativeObj, IntPtr grad_nativeObj, IntPtr angleOfs_nativeObj);
// C++: static vector_float cv::HOGDescriptor::getDefaultPeopleDetector()
[DllImport(LIBNAME)]
private static extern IntPtr objdetect_HOGDescriptor_getDefaultPeopleDetector_10();
// C++: static vector_float cv::HOGDescriptor::getDaimlerPeopleDetector()
[DllImport(LIBNAME)]
private static extern IntPtr objdetect_HOGDescriptor_getDaimlerPeopleDetector_10();
// C++: Size HOGDescriptor::winSize
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_get_1winSize_10(IntPtr nativeObj, double[] retVal);
// C++: Size HOGDescriptor::blockSize
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_get_1blockSize_10(IntPtr nativeObj, double[] retVal);
// C++: Size HOGDescriptor::blockStride
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_get_1blockStride_10(IntPtr nativeObj, double[] retVal);
// C++: Size HOGDescriptor::cellSize
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_get_1cellSize_10(IntPtr nativeObj, double[] retVal);
// C++: int HOGDescriptor::nbins
[DllImport(LIBNAME)]
private static extern int objdetect_HOGDescriptor_get_1nbins_10(IntPtr nativeObj);
// C++: int HOGDescriptor::derivAperture
[DllImport(LIBNAME)]
private static extern int objdetect_HOGDescriptor_get_1derivAperture_10(IntPtr nativeObj);
// C++: double HOGDescriptor::winSigma
[DllImport(LIBNAME)]
private static extern double objdetect_HOGDescriptor_get_1winSigma_10(IntPtr nativeObj);
// C++: HOGDescriptor_HistogramNormType HOGDescriptor::histogramNormType
[DllImport(LIBNAME)]
private static extern int objdetect_HOGDescriptor_get_1histogramNormType_10(IntPtr nativeObj);
// C++: double HOGDescriptor::L2HysThreshold
[DllImport(LIBNAME)]
private static extern double objdetect_HOGDescriptor_get_1L2HysThreshold_10(IntPtr nativeObj);
// C++: bool HOGDescriptor::gammaCorrection
[DllImport(LIBNAME)]
[return: MarshalAs(UnmanagedType.U1)]
private static extern bool objdetect_HOGDescriptor_get_1gammaCorrection_10(IntPtr nativeObj);
// C++: vector_float HOGDescriptor::svmDetector
[DllImport(LIBNAME)]
private static extern IntPtr objdetect_HOGDescriptor_get_1svmDetector_10(IntPtr nativeObj);
// C++: int HOGDescriptor::nlevels
[DllImport(LIBNAME)]
private static extern int objdetect_HOGDescriptor_get_1nlevels_10(IntPtr nativeObj);
// C++: bool HOGDescriptor::signedGradient
[DllImport(LIBNAME)]
[return: MarshalAs(UnmanagedType.U1)]
private static extern bool objdetect_HOGDescriptor_get_1signedGradient_10(IntPtr nativeObj);
// native support for java finalize()
[DllImport(LIBNAME)]
private static extern void objdetect_HOGDescriptor_delete(IntPtr nativeObj);
}
}