2 つの画像を比較して違いを知ることができる利用可能な DM スクリプトはありますか?
つまり、スクリプトは 2 つ以上の画像を比較でき、2 つの画像の類似性を判断できます。たとえば、ある画像の 95% の領域が別の画像と同じである場合、これら 2 つの画像の類似性は 95% です。
このスクリプトは、画像の明るさとコントラストの分布を比較できます。
ありがとう、
2 つの画像を比較して違いを知ることができる利用可能な DM スクリプトはありますか?
つまり、スクリプトは 2 つ以上の画像を比較でき、2 つの画像の類似性を判断できます。たとえば、ある画像の 95% の領域が別の画像と同じである場合、これら 2 つの画像の類似性は 95% です。
このスクリプトは、画像の明るさとコントラストの分布を比較できます。
ありがとう、
画像間の「類似性」はあなたが望むものに大きく依存するため、この質問は少し不明確です。「領域の 95% が同じ」とは、画像 A と B でピクセルの 95% が同じ値であることを意味する場合、単純にマスクを作成してsum()
ピクセル数をカウントする
ことができます。sum( abs(A-B)==0 ? 1 : 0 )
ただし、画像AとBが互いに1ピクセルでもずれていると、これは完全に失敗します。A と B のコントラストが同じで絶対値が異なる場合も失敗します。
意図した質問は、あいまいな方法で 2 つの画像の類似性を見つけることだったと思います。これらの場合、1 つの方法は相互相関を行うことです。DMにはこの機能があります。このような、
image xcorr= CrossCorrelate(ref,img)
xcorr から、ピーク位置は 2 つの間の x シフトと y シフトを示し、ピーク強度は 2 つの「類似性」を示します。2つの間にシフトがないことがわかっている場合は、合計と乗算を実行できます。
number similarity1=sum(img1*img2)
類似性を調べる別の方法は、2 つのユークリッド距離を計算することです。
number similarity2=sqrt(sum((img1-img2)**2)).
「similarity2」は、「純粋な」類似度を計算します。「similarity1」は、純粋な類似性に img1 と img2 の平均強度を加えたものです。違いは本質的にこれです、
(a-b)**2=a**2+b**2-2*a*b.
左の項は「similarity2」、右の最後の項は「相互相関」または「similarity1」です。「similarity1」は相互相関、「similarity2」は相関係数と呼ばれていると思います。2 つの回折パターンを比較する例で、類似度を計算する場合は、「similarity2」を使用します。類似度と回折パターンの特定の特性を計算する場合は、「similarity1」を使用します。