/// <summary> /// Constructs a new Haar object detector. /// </summary> /// <param name="cascade"> /// The <see cref="HaarCascade"/> to use in the detector's classifier. /// For the default face cascade, please take a look on /// <see cref="FaceHaarCascade"/>. /// </param> /// <param name="minSize">Minimum window size to consider when searching /// objects. Default value is <c>15</c>.</param> /// <param name="searchMode">The <see cref="ObjectDetectorSearchMode"/> to use /// during search. Please see documentation of <see cref="ObjectDetectorSearchMode"/> /// for details. Default is <see cref="ObjectDetectorSearchMode.NoOverlap"/>.</param> /// <param name="scaleFactor">The scaling factor to rescale the window /// during search. Default value is <c>1.2f</c>.</param> /// <param name="scalingMode">The <see cref="ObjectDetectorScalingMode"/> to use /// when re-scaling the search window during search. Default is <see cref="ObjectDetectorScalingMode.SmallerToGreater"/>.</param> /// private HaarObjectDetector(HaarCascade.HaarCascade cascade, int minSize, ObjectDetectorSearchMode searchMode, float scaleFactor, ObjectDetectorScalingMode scalingMode) { this.classifier = new HaarClassifier(cascade); this.minSize = new Size(minSize, minSize); this.searchMode = searchMode; this.ScalingMode = scalingMode; this.factor = scaleFactor; this.detectedObjects = new List <Rectangle>(); this.baseWidth = cascade.Width; this.baseHeight = cascade.Height; }
/// <summary> /// Constructs a new Haar object detector. /// </summary> /// <param name="cascade"> /// The <see cref="HaarCascade"/> to use in the detector's classifier. /// For the default face cascade, please take a look on /// <see cref="FaceHaarCascade"/>. /// </param> /// <param name="minSize">Minimum window size to consider when searching /// objects. Default value is <c>15</c>.</param> /// <param name="searchMode">The <see cref="ObjectDetectorSearchMode"/> to use /// during search. Please see documentation of <see cref="ObjectDetectorSearchMode"/> /// for details. Default value is <see cref="ObjectDetectorSearchMode.NoOverlap"/></param> /// public HaarObjectDetector(HaarCascade.HaarCascade cascade, int minSize, ObjectDetectorSearchMode searchMode = ObjectDetectorSearchMode.NoOverlap) : this(cascade, minSize, searchMode, 1.2f) { }
/// <summary> /// Constructs a new Haar object detector. /// </summary> /// <param name="cascade"> /// The <see cref="HaarCascade"/> to use in the detector's classifier. /// For the default face cascade, please take a look on /// <see cref="FaceHaarCascade"/>. /// </param> /// <param name="minSize">Minimum window size to consider when searching /// objects. Default value is <c>15</c>.</param> /// <param name="searchMode">The <see cref="ObjectDetectorSearchMode"/> to use /// during search. Please see documentation of <see cref="ObjectDetectorSearchMode"/> /// for details. Default value is <see cref="ObjectDetectorSearchMode.NoOverlap"/></param> /// <param name="scaleFactor">The re-scaling factor to use when re-scaling the window during search.</param> /// public HaarObjectDetector(HaarCascade.HaarCascade cascade, int minSize, ObjectDetectorSearchMode searchMode, float scaleFactor) : this(cascade, minSize, searchMode, scaleFactor, ObjectDetectorScalingMode.SmallerToGreater) { }
/// <summary> /// Constructs a new Haar object detector. /// </summary> /// <param name="cascade"> /// The <see cref="HaarCascade"/> to use in the detector's classifier. /// For the default face cascade, please take a look on /// <see cref="FaceHaarCascade"/>. /// </param> /// public HaarObjectDetector(HaarCascade.HaarCascade cascade) : this(cascade, 15) { }