「単純な」画像がたくさんあり、それらが似ているかどうかを比較したい。テンプレート マッチング ( ) を使用してそれらを相互に比較するcv::matchTemplate
と、結果は非常に良好です。
今、プログラムを微調整したいのですが、問題に直面しています。たとえば、よく似た 2 つの画像があります。違うのは線が太いのと、商品の桁が違うだけです。両方の画像が小さい場合、テンプレート マッチングを実行すると、線の太さの 1 ピクセルの違いが結果に大きな違いをもたらします。線の太さが同じで前の桁だけ違う場合、マッチング成功のようなテンプレートマッチング結果が得られ0.98
ます。CV_TM_CCORR_NORMED
線の太さが違うとマッチング結果は0.95くらい。
他の同様の画像の線の太さが同じであるため、しきい値を 0.98 未満に下げることはできません。
画像の例を次に示します。
では、どのようなオプションがありますか?
私が試してみました:
- オリジナルとテンプレートを膨張させる
- 侵食も両方
- 形態学Ex both
- キーポイントの計算とそれらの比較
- コーナーを見つける
しかし、まだ大きな成功はありません。それらの画像は単純すぎて、「良い特徴」を検出するのが難しいですか?
どんな助けでも大歓迎です。
ありがとうございました!
編集:
その他のサンプル画像はこちら。私のプログラムが類似していると見なすものは、同じzipフォルダーに入れられます。 ジップ