例如:有两个都是(150*150)的图片,用什么方法可以比较两个图片内容是否一样?对每个象素进行颜色比较可以吗?
如何用程序实现?

解决方案 »

  1.   

    试试这个方法把两个二进制文件读入内存中的byte数组
    如果完全相同的两个文件它们的结构/数据等都应该一样的比较两个数组应该就可以得出两个文件是否一样
    Private Sub Command1_Click()
        Dim n As Long
        Dim arrBytes() As Byte
        
        '读出数据
        Open "d:\draw.ico" For Binary As 1
            n = LOF(1)
            ReDim arrBytes(1 To n) As Byte
            Get 1, , arrBytes
        Close 1
      
    End Sub
      

  2.   

    对两个图片的数据进行hash计算(比如md5算法,具体算法可以在网络上找到)然后比较hash的结果
      

  3.   

    有没有内存块相减的API函数啊???
    把两副图片读入内存,用Byte数组保存,然后把这两个数组所在的内存区域相减,就可以判断时候一样啦!!呵呵,不知道有没有这样的方法啊???
    关注ing
      

  4.   

    XOR一下看看有多少个点颜色一样
      

  5.   

    如果不要求速度,可以逐个点比较。但是如果是对很多图片比较,则可以这样:1、X,Y隔N个像素取一点计算校验和。时间是逐个像素的1/N。2、比较近似校验和,相等的图片进行逐个像素的比较。对于两副内容完全一样,但是颠倒了90度、180度的图片。可以比较直方图。图片颠倒90度、180度或者左右颠倒之后,直方图是不变的。
      

  6.   

    xyn0506(哈利).
    我不认为这样的问题很简单~牵扯到图形问题的实际上都很复杂~我就很怕这方面的东西~头都做大了~
      

  7.   

    你可以声明两个变量
    Img1 as image
    Img2 as image
    然后让这两个变量值分别去等两个image控件的图片,再判断Img1是否等于Img2