比较两个图像的方法

时间:2011-05-04 10:41:40

标签: asp.net

亥      任何比较两个图像与任何方向的算法?任何人都可以帮忙吗?      给我一些链接。

谢谢

1 个答案:

答案 0 :(得分:1)

Computer Vision/Computer Graphics Collaboration Techniques

用于比较c#

中的两个图像的代码
public bool doImagesMatch(ref Bitmap bmp1, ref Bitmap bmp2)
{
    try
    {
        //create instance or System.Drawing.ImageConverter to convert
        //each image to a byte array
        ImageConverter converter = new ImageConverter();
        //create 2 byte arrays, one for each image
        byte[] imgBytes1 = new byte[1];
        byte[] imgBytes2 = new byte[1];

        //convert images to byte array
        imgBytes1 = (byte[])converter.ConvertTo(bmp1, imgBytes2.GetType());
        imgBytes2 = (byte[])converter.ConvertTo(bmp2, imgBytes1.GetType());

        //now compute a hash for each image from the byte arrays
        SHA256Managed sha = new SHA256Managed();
        byte[] imgHash1 = sha.ComputeHash(imgBytes1);
        byte[] imgHash2 = sha.ComputeHash(imgBytes2);

        //now let's compare the hashes
        for (int i = 0; i < imgHash1.Length && i < imgHash2.Length; i++)
        {
            //loops, found a non-match, exit the loop
            //with a false value
            if (!(imgHash1[i] == imgHash2[i]))
            return false;
        }
    }
    catch (Exception ex)
    {
       MessageBox.Show(ex.Message);
        return false;
    }
    //we made it this far so the images must match
    return true;
}