예제 #1
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="squareSize">Size of the square to build the Haar-like Feature within.</param>
 /// <param name="numChannels">Number of channels to sample from</param>
 /// <param name="mixChannels">Whether to allow the mixing channels when computing the difference</param>
 public HaarFeatureFactory(int squareSize, int numChannels, bool mixChannels)
 {
     HaarFeatures.SetSquareSize(2 * squareSize + 1);
     _possibleFeatureCount = numChannels * HaarFeatures.FEATURES.Length;
     _numChannels          = numChannels;
     _mixChannels          = mixChannels;
 }
예제 #2
0
 public Form1()
 {
     InitializeComponent();
     //Созхдание каскада из набора примитивов
     #region CreateCascade
     int l = 6; // Размер минимального квадрата паттерна
     // Используемые признаки хаара
     // 0 - белый, * - чёрный
     for (int s = l; s < l*3+1; s += l)
     {
         //000
         //***
         HaarFeatures HF = new HaarFeatures();
         HF.AddWhite(0, 0, s * 3, s);
         HF.AddBlack(0, s, s * 3, s);
         HF.SetSize(s * 3, s * 2);
         Cascade.Add(HF);
         //0*
         //0*
         //0*
         HF = new HaarFeatures();
         HF.AddWhite(0, 0, s, s*3);
         HF.AddBlack(s, 0, s, s*3);
         HF.SetSize(s * 2, s * 3);
         Cascade.Add(HF);
         //0
         //*
         //0
         HF = new HaarFeatures();
         HF.AddWhite(0, 0, s, s);
         HF.AddWhite(0, s*2, s, s);
         HF.AddBlack(0, s, s, s);
         HF.SetSize(s, s * 3);
         Cascade.Add(HF);
         //0*0
         HF = new HaarFeatures();
         HF.AddWhite(0, 0, s, s);
         HF.AddWhite(s*2, 0, s, s);
         HF.AddBlack(s, 0, s, s);
         HF.SetSize(s*3, s);
         Cascade.Add(HF);
         //0*
         //*0
         HF = new HaarFeatures();
         HF.AddWhite(0, 0, s, s);
         HF.AddWhite(s, s, s, s);
         HF.AddBlack(s, 0, s, s);
         HF.AddBlack(0, s, s, s);
         HF.SetSize(s * 2, s*2);
         //000
         //0*0
         //000
         HF = new HaarFeatures();
         HF.AddWhite(0, 0, s*3, s);
         HF.AddWhite(0, s*2, s * 3, s);
         HF.AddWhite(0, s, s, s);
         HF.AddWhite(s*2, s, s, s);
         HF.AddBlack(s, s, s, s);
         HF.SetSize(s * 3, s * 3);
         Cascade.Add(HF);
     }
     #endregion
 }
예제 #3
0
 public Form1()
 {
     InitializeComponent();
     //Созхдание каскада из набора примитивов
     #region CreateCascade
     int l = 6; // Размер минимального квадрата паттерна
     // Используемые признаки хаара
     // 0 - белый, * - чёрный
     for (int s = l; s < l * 3 + 1; s += l)
     {
         //000
         //***
         HaarFeatures HF = new HaarFeatures();
         HF.AddWhite(0, 0, s * 3, s);
         HF.AddBlack(0, s, s * 3, s);
         HF.SetSize(s * 3, s * 2);
         Cascade.Add(HF);
         //0*
         //0*
         //0*
         HF = new HaarFeatures();
         HF.AddWhite(0, 0, s, s * 3);
         HF.AddBlack(s, 0, s, s * 3);
         HF.SetSize(s * 2, s * 3);
         Cascade.Add(HF);
         //0
         //*
         //0
         HF = new HaarFeatures();
         HF.AddWhite(0, 0, s, s);
         HF.AddWhite(0, s * 2, s, s);
         HF.AddBlack(0, s, s, s);
         HF.SetSize(s, s * 3);
         Cascade.Add(HF);
         //0*0
         HF = new HaarFeatures();
         HF.AddWhite(0, 0, s, s);
         HF.AddWhite(s * 2, 0, s, s);
         HF.AddBlack(s, 0, s, s);
         HF.SetSize(s * 3, s);
         Cascade.Add(HF);
         //0*
         //*0
         HF = new HaarFeatures();
         HF.AddWhite(0, 0, s, s);
         HF.AddWhite(s, s, s, s);
         HF.AddBlack(s, 0, s, s);
         HF.AddBlack(0, s, s, s);
         HF.SetSize(s * 2, s * 2);
         //000
         //0*0
         //000
         HF = new HaarFeatures();
         HF.AddWhite(0, 0, s * 3, s);
         HF.AddWhite(0, s * 2, s * 3, s);
         HF.AddWhite(0, s, s, s);
         HF.AddWhite(s * 2, s, s, s);
         HF.AddBlack(s, s, s, s);
         HF.SetSize(s * 3, s * 3);
         Cascade.Add(HF);
     }
     #endregion
 }