私のプロジェクトは葉の形状認識です。Invariant Moments を使用して特徴抽出を行い、City Block Distance を使用してテスト画像とデータベース内の画像の間の距離を計算します。私が得る結果は非常に悪いです。認識は、一致の 50% 未満しか得られないと言えます。例えば:
これはテスト画像です
しかし、それはこの画像と一致します:
その画像を大津閾値を使って二値画像に変換するので、形が整った画像になります。私の質問は、これは正常ですか? または コーディングに誤りがありますか? これは、City Block Distance を使用した私のコーディングです。
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 値になりませんでした。なんで?ダブルデータ型だからですか?