我正在使用由Julien Pilet等人編寫的開源代碼。標題爲「使背景減少突然照明變化」。我沒有任何改變,只是運行它,然後它給了我下面的錯誤:OpenCV:錯誤C3861:'有限':標識符未找到
error C3861: 'finite':identifier not found
我檢查,並在「imstat.h」文件中出現以下行此錯誤:
if (!finite(det) || det<1e-5) {
sigma_computed=false;
n=0;
one_over_sq_det= 1;
memset(sigma,0,sizeof(sigma));
sigma[0][0]=1;
sigma[1][1]=1;
sigma[2][2]=1;
two_ln_sq_det = 2;
} else {
one_over_sq_det = 1/sqrtf(det);
assert(finite(one_over_sq_det));
two_ln_sq_det = 2*log(sqrtf(det));
sigma_computed=true;
n = new_n;
}
「imstat.h」文件包含在「emvisi2.h」文件中的代碼中。有人能幫我理解這個錯誤嗎?似乎某種類定義中存在某些錯誤,但我找不到它。謝謝。
除了編譯器之外,我們不知道'finite()'是什麼,所以我們現在不能回答它並要求關於該函數的其他信息。 – SingerOfTheFall
嘗試http://msdn.microsoft.com/en-us/library/sb8es7a8.aspx – hmjd
我認爲你應該用['std :: isfinite'](http://en.cppreference.com/w/)替換它cpp/numeric/math/isfinite) – Lol4t0