1

私はこのモーション検出プログラムを書いていて、「if 文」の問題に遭遇しました。コードは次のとおりです。

       for (int i = 0; i < frameSize; i++, backFrame++, currFrame++)
            {
                // difference
                diff = ((int)*currFrame) - ((int)*backFrame);
               // threshold
                if ((diff >= differenceThreshold) || (diff <= differenceThresholdNeg))
                {
                    *currFrame = (byte)255;
                    if (i < 640)
                    {
                        x[i] = i;
                        y[i] = 0;
                    }
                    else
                    {
                        x[i] = i % 640;
                        y[i] = i / 640;
                    }
                    if (xMax < x[i]) xMax = x[i];
                    if (xMin > x[i]) xMin = x[i];
                    if (yMax < y[i]) yMax = y[i];
                    if (yMin > y[i]) yMin = y[i];
                    xC = ((xMax - xMin) / 2) + xMin;
                    yC = ((yMax - yMin) / 2) + yMin; 
                }
                else
                {
                    *currFrame = (byte)0;
                }
             }

問題は、'if' の後のコードをスキップして、条件が満たされた場合でも 'else' を実行することです。

(((diff >= differenceThreshold) || (diff <= differenceThresholdNeg))) is true.

私はC#が初めてなので、誰か助けてもらえますか?

4

0 に答える 0