图像c#之间的相似性

时间:2018-04-16 06:14:07

标签: c# image image-processing bitmap

我需要检查两个图像的相似程度。我需要这个数字;一个百分比。

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%,如果我把它放在开头,如果我把它放在最后,它没有考虑到它。

我看起来很漂亮,但我总能找到具有相同高度和长度的图像示例。

有没有办法看到另一张图片的相似程度有多大?资源不是问题,因为通常图像很小。

0 个答案:

没有答案