私はこのモーション検出プログラムを書いていて、「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#が初めてなので、誰か助けてもらえますか?