-1

以下に含まれるコードは、hsv 色空間の 2 つの画像間のユークリッド距離を計算し、結果がしきい値 (ここでは 0.5 に設定) を下回る場合、2 つの画像は類似しており、それらを 1 つのクラスターにグループ化します。

これは、画像のグループ (実際にはビデオ フレーム) に対して行われます。

サンプル画像のグループではうまく機能しましたが、サンプルを変更すると、結果が奇妙になり始めます。たとえば、2 つの異なる画像では結果が低く、2 つの類似した画像では結果が高くなります (1.2 など)。

たとえば、これら 2 つの非常によく似た画像の結果は比較的高く、 最初の写真2 番目の写真は実際には 0.5 未満である必要があります。

なにが問題ですか?

以下のコードでfは、 を で割って、100に近い値と比較できるようにしています0.5

Im1 = imread('1.jpeg');
Im2 = imread('2.jpeg');
hsv = rgb2hsv(Im1);
hn1 = hsv(:,:,1);
hn1=hist(hn1,16);
hn1=norm(hn1);
hsv = rgb2hsv(Im2);
hn2 = hsv(:,:,1);
hn2=hist(hn2,16);
hn2=norm(hn2);
f = norm(hn1-hn2,1)
f=f/100
4

1 に答える 1