我正在研究OpenCV的代码,然后我遇到了接下来的几行:
函数的var是:
CvMat* _err;
CvMat* _mask;
int i, count = _err->rows*_err->cols, goodCount = 0;
for( i = 0; i < count; i++ )
goodCount += mask[i] = err[i] <= threshold; // This line is strange for me
return goodCount;
Run Code Online (Sandbox Code Playgroud)
我指出的那条线实际上做了什么?因为,叫我奇怪,我从未见过这样的事情.
供您参考:
CvModelEstimator2::findInliers函数的一部分.那条线是邪恶的.
然而,它分配1给mask[i]if err[i] <= threshold和0否.
然后,goodCount如果条件成立则递增.
mask[i] = (err[i] <= threshold);
goodCount += mask[i];
Run Code Online (Sandbox Code Playgroud)