Example #1
0
        /// <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();
        }
Example #2
0
 /// <summary>
 /// Constructor for a Classifier taking a cascade
 /// </summary>
 /// <param name="pCascade"></param>
 public Classifier(Cascade pCascade)
 {
     this.cascade = pCascade;
 }
Example #3
0
 /// <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)
 {
 }
Example #4
0
        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)
        {
        }
Example #5
0
        /// <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;
        }
Example #6
0
 /// <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)
 {
 }
Example #7
0
 /// <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)
 {
 }