首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >比较两个图像是否相同

比较两个图像是否相同
EN

Stack Overflow用户
提问于 2010-12-10 21:29:20
回答 3查看 9.8K关注 0票数 2

我知道如何比较两个字符串是否相同,或者not.this正在编写代码来比较两个字符串TextView t,t1;

代码语言:javascript
运行
复制
String s,s1;
s=t.getText().toString();
s1=t1.setText().toString();
if(s.equals(s1)){
   t.setText("equal");
}
else{
   t.setText("not equal");
}

我需要的编码比较两个图像是相同的或not.please给我早

EN

回答 3

Stack Overflow用户

发布于 2010-12-10 21:41:17

检查高度是否匹配,如果不匹配,则返回false。然后,检查宽度是否匹配,如果不匹配,则返回false。然后检查每个像素,直到找到一个不匹配的像素。执行此操作时,返回false。如果每个像素都匹配,则返回true。

伪码

代码语言:javascript
运行
复制
bool imagesAreEqual(Image i1, Image i2)
{
    if (i1.getHeight() != i2.getHeight) return false;
    if (i1.getWidth() != i2.getWidth) return false;

    for (int y = 0; y < i1.getHeight(); ++y)
       for (int x = 0; x < i1.getWidth(); ++x)
            if (i1.getPixel(x, y) != i2.getPixel(x, y)) return false;

    return true;
}

实际上,如果可以的话,您可能希望将图像视为一个二维数组,并且只比较字节。我不知道Android image API,但getPixel可能会很慢。

票数 1
EN

Stack Overflow用户

发布于 2010-12-10 21:36:21

如果你想检查两个图像是否绝对相等,那么从两个图像中获取字节,并使用逐个元素的检查来比较两个数组。

票数 -1
EN

Stack Overflow用户

发布于 2012-05-11 16:28:05

可以将图像定义为BufferedImage,的抽象,它只包含类似头部的信息。在读取图像像素之前,请将图像与其大小进行比较。

代码语言:javascript
运行
复制
File f1;
File f2;
Image i1 = ImageIO.read(f1);
Image i2 = ImageIO.read(f2);
if(i1.getHeight() == i2.getHeight
    && i1.getWidth() == i2.getWİdth) {
    BufferedImage b1 = ImageIO.read(f1);
    BufferedImage b2 = ImageIO.read(f2);
    //compare pixels
}

图像的读取速度比BufferedImage快得多,因为它不能从文件中获取像素。为了进行比较,我建议使用两层或更多层的像素比较。使用随机将提高您的速度,因为找到一个不匹配的像素对您来说就足够了。

代码语言:javascript
运行
复制
for(i=0; i<N; i++) {
    x = r.nextInt(184);
    y = r.nextInt(184);
    if(b1.getRGB(x,y) != b2.getRGB(x,y)) {
        break;
    }
}

如果图像通过了随机化比较,则逐个像素进行比较,如果发现不匹配的像素,则中断循环。我的回答是假设你需要一个快速运行的比较。为此,我不建议使用MD5散列,除非你想在一个大的图像目录中找到所有重复的图像。如果你只是想快速比较两张图片,MD5没有多大意义,因为它需要读取图片的所有像素来校验哈希值,这会降低one comparison的速度。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4409282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档