我的项目是叶子的形状识别。我使用不变矩进行特征提取和城市街区距离来计算测试图像与数据库中图像之间的距离。胸围我得到的结果非常糟糕。我可以说识别率只有不到 50% 的匹配。例如:
这是测试图像
但这与这张图片相匹配:
我使用 otsu 阈值将该图像转换为二进制图像,因此图像的形状看起来不错。我的问题,这是正常的吗?还是我的编码有错误?这是我使用城市街区距离的编码:
CityBlock[j] = Math.abs(bMom1 - DB.GetBentukMoment1(j)) + Math.abs(bMom2 - DB.GetBentukMoment2(j)) +
Math.abs(bMom3 - DB.GetBentukMoment3(j)) + Math.abs(bMom4 - DB.GetBentukMoment4(j)) +
Math.abs(bMom5 - DB.GetBentukMoment5(j)) + Math.abs(bMom6 - DB.GetBentukMoment6(j)) +
Math.abs(bMom7 - DB.GetBentukMoment7(j));
如果我在该编码上使用相同的图像,则结果不会给出 0 值。为什么?是因为双数据类型吗?