/// <summary> /// Default Constructor that handles initializations /// </summary> public Form1() { // Create the casscade using the cascade information from one of the OpenCV files. // BEST SO FAR cascade = Cascade.FromXml("C:\\cygwin\\home\\Jonathan\\seniorProject\\FacialDetection\\FacialDetection\\Resources\\frontalface_default.xml"); // Second best so far // cascade = HaarCascade.FromXml("C:\\cygwin\\home\\Jonathan\\seniorProject\\FacialDetection\\FacialDetection\\Resources\\frontalface_alt_tree_cascades.xml"); // Third best so far // cascade = HaarCascade.FromXml("C:\\cygwin\\home\\Jonathan\\seniorProject\\FacialDetection\\FacialDetection\\Resources\\frontalface_alt.xml"); // TEST FOR HANDS // cascade = HaarCascade.FromXml("C:\\cygwin\\home\\Jonathan\\seniorProject\\FacialDetection\\FacialDetection\\Resources\\hand1.xml"); // Create the detector out of the cascade, and some other configuration details // Best config is (Cascade 1, 15, Default, 1.1F, GreaterToSmaller, 2000) detector = new Detector(this.cascade, 15, searchMode.Default, 1.1F, scalingMode.SmallerToGreater, 500); // Create a console to wrtie to AllocConsole(); // Initialize the Form InitializeComponent(); }
/// <summary> /// Constructor for a Classifier taking a cascade /// </summary> /// <param name="pCascade"></param> public Classifier(Cascade pCascade) { this.cascade = pCascade; }
/// <summary> /// Constructor taking a cascade object and a minimum size /// </summary> /// <param name="cascade"></param> /// <param name="minSize"></param> public Detector(Cascade cascade, int minSize) : this(cascade, minSize, searchMode.NoOverlap) { }
private float[] steps; // the number of steps to find a face #endregion Fields #region Constructors /// <summary> /// Constructor taking a Cascade /// </summary> /// <param name="cascade"></param> public Detector(Cascade cascade) : this(cascade, 20) { }
/// <summary> /// Constructor taking a cascade, minSize, searchMode, scaleFactor, scalingMode, and maxSize /// </summary> /// <param name="cascade"></param> /// <param name="minSize"></param> /// <param name="searchMode"></param> /// <param name="scaleFactor"></param> /// <param name="scalingMode"></param> /// <param name="maxSize"></param> public Detector(Cascade cascade, int minSize, searchMode searchMode, float scaleFactor, scalingMode scalingMode, int maxSize) { this.classifier = new Classifier(cascade); this.minSize = new Size(minSize, minSize); this.maxSize = new Size(maxSize, maxSize); this.searchMode = searchMode; this.ScalingMode = scalingMode; this.factor = scaleFactor; this.detectedObjects = new List<Rectangle>(); this.mWidth = cascade.width; this.mHeight = cascade.height; }
/// <summary> /// Construcctor taking a cascade, minSize, searchMode, and scaleFactor /// </summary> /// <param name="cascade"></param> /// <param name="minSize"></param> /// <param name="searchMode"></param> /// <param name="scaleFactor"></param> public Detector(Cascade cascade, int minSize, searchMode searchMode, float scaleFactor) : this(cascade, minSize, searchMode, scaleFactor, scalingMode.SmallerToGreater) { }
/// <summary> /// Constructor taking a cascade, minimum size, and searchMode /// </summary> /// <param name="cascade"></param> /// <param name="minSize"></param> /// <param name="searchMode"></param> public Detector(Cascade cascade, int minSize, searchMode searchMode) : this(cascade, minSize, searchMode, 1.2f) { }