我需要检查两个图像的相似程度。我需要这个数字;一个百分比。
public static void Compare(Bitmap bmp1, Bitmap bmp2)
{
int width;
int height;
if (bmp1.width < bmp2.width)
{
width = bmp1.width;
}
else
{
width = bmp2.width;
}
if (bmp1.heigth < bmp2.width)
{
heigth = bmp1.heigth;
}
else
{
heigth = bmp2.heigth;
}
int contador = 0;
for (int x = 0; x < width; x++)
{
for (int y = 0; y < height; y++)
{
if (bmp1.GetPixel(x, y) == bmp2.GetPixel(x, y))
{
contador++
}
}
}
Messagebox.Show("The percent of similar is:" + (contador / (height * width) * 100).ToString());
}
当图像尺寸不同时,这非常有效,因为例如当将两条图像中的一条放入白线时,比较的百分比是0%,如果我把它放在开头,如果我把它放在最后,它没有考虑到它。
我看起来很漂亮,但我总能找到具有相同高度和长度的图像示例。
有没有办法看到另一张图片的相似程度有多大?资源不是问题,因为通常图像很小。