我不知道为什么我得到平均值= 0.下面的代码显示了我如何计算它,下面张贴的图像显示了我得到的输出
码
float avg = (goodMatchesList.size()/rawMatchesListSorted.size()) * 100;
Log.D(TAG, "descMatcher", "avg: " + avg);
Log.D(TAG, "descMatcher", "min: " + minDist);
Log.D(TAG, "descMatcher", "max: " + maxDist);
Log.D(TAG, "descMatcher", "objComputedDescExt.rows: " + matFactory.getComputedDescExtMatAt(0).rows());
Log.D(TAG, "descMatcher", "rawMatchesListSorted.size: " + rawMatchesListSorted.size());
Log.D(TAG, "descMatcher", "goodMatchesList.size: " + goodMatchesList.size());
Run Code Online (Sandbox Code Playgroud)

您正在划分两个整数 - (goodMatchesList.size()/rawMatchesListSorted.size())所以如果结果小于1,则它变为0.
对于浮点除法,使用强制转换:
((float)goodMatchesList.size()/rawMatchesListSorted.size())*100
Run Code Online (Sandbox Code Playgroud)
如果您不关心分数,则在分割前将其乘以100或100:
100*goodMatchesList.size()/rawMatchesListSorted.size()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |