2016-01-07 3 views
0

Я хочу сделать флаг, который зависит от cntkotak в моей программе. Здесь у меня есть cntkotak, который будет считаться до 3. Во время подсчета cntkotak моя переменная-флаг будет увеличиваться в зависимости от значения cntkotak. Например, значение my cntkotak равно 3, а мой флаг будет flag3 = true. Если мое значение cntkotak равно 2, мой флаг будет flag2 = true. Это своего рода bool flag + cntkotak = true, но это не работает. Это моя идея, но я не знаю, как ее реализовать. Пожалуйста, помогите мнеСоздание флага зависит от счетчика C#

foreach (var filePath in templateImage) 
{ 
    counterbanyaktemplate++; 
    for (cntkotak = 0; cntkotak < banyakkotak; cntkotak++) 
    { 
     Image<Bgr, byte> templates = new Image<Bgr, byte>(filePath); 
     imageToShow.ROI = new Rectangle(x1 + ((tempwidth/banyakkotak) * cntkotak), y1, tempwidth/banyakkotak, tempheight);       
     using (Image<Gray, float> result = imageToShow.MatchTemplate(templates, Emgu.CV.CvEnum.TM_TYPE.CV_TM_CCOEFF_NORMED)) 
     { 
      double[] maxValues, minValues; 
      Point[] maxLoc, minLoc; 
      result.MinMax(out minValues, out maxValues, out minLoc, out maxLoc); 


      if (counterbanyaktemplate == ((cntkotak + 1) + (banyakkotak * pengali))) 
       { 
        if (maxValues[0] > 0.8) 
        { 
         //here i want to make a flag that depend on cntkotak. 
        if(flag == true) 
        { 

          Rectangle match = new Rectangle(x1 + ((tempwidth/banyakkotak) * cntkotak), y1, tempwidth/banyakkotak, tempheight); 

          newImage.Draw(match, new Bgr(Color.Green), 1); 
         } 
         else 
         { 
          Rectangle match = new Rectangle(x1 + ((tempwidth/banyakkotak) * cntkotak), y1, tempwidth/banyakkotak, tempheight); 
          newImage.Draw(match, new Bgr(Color.Red), 1); 
         } 

         if (cntkotak == banyakkotak - 1) 
         { 
          cntkotak = -1; 
          pengali++; 
         } 
         if (pengali == banyakkotak - 1) 
         { 
          pengali = 0; 
         } 
        } 
       } 

      }  
     } 
+0

Зачем использовать флаг? Почему бы просто не проверить 'if (cntkotak == 1) {/*...*/}' и т. Д.? – Ergwun

+0

Итак, я собираюсь сделать программу соответствия шаблонов, используя Emgu CV C#. У меня есть 3 коробки, а cntkotak - это мои ящики. Моя программа сканирует количество шаблонов в моем каталоге, используя counterbanyaktemplate и counterbanyaktemplate, будет увеличиваться в зависимости от cntkotak. Итак, если шаблон имеет maxValues> 0.9, мой флаг будет правдой. Вот почему я хочу сделать флаг, что переменная является программно такой же, как и значение cntkotak. –

ответ

0

Если вы хотите установить несколько значений флага, то я думаю, что вы можете иметь массив Ий для флагов, затем установите соответствующее значение на основе cntkotak использование value.ie значения cntkotak в качестве индекса для array и установите его true или false.

+0

Спасибо, что му Венкатеш :) –

Смежные вопросы