如果某个识别对象和训练库中的某一个很匹配,那么就会有很高的相似度。
如果识别对象不在训练库中,那么就算是返回了结果,相似度也不会很高,只不过是数值上的最优解。
所以,设置一个相似度的阀值(THREADHOLD), 最匹配误差(leastDistSq)大于这个阀值就可以判断为不在训练库中!
... if ( leastDistSq > THREADHOLD ) { return -1; } return iNearest; }