比较两张图片是否相同(iOS)

5

我发现了这段代码,正在尝试更好地理解它:

可能是重复的问题:
如何在iPhone上通过一定百分比比较两张图片是否相似?

UIImage *img1 = // Some photo;
UIImage *img2 = // Some photo;

NSData *imgdata1 = UIImagePNGRepresentation(img1);

NSData *imgdata2 = UIImagePNGRepresentation(img2);

if ([imgdata1 isEqualToData:imgdata2]) {
    NSLog(@"Same Image");
}

这样做可以确认图像1和图像2完全相同吗?这种方法是最佳实践,还是有更好的方法?


5
图1设计...开始编写你的第一个应用程序。 - user166390
你应该真正修复你的问题。如果你在引用一本书,请清楚地说明,并且不要对“图1”等进行无意义的引用。 - Gabriele Petronella
这种比较在你使用[UIImage imageWithContentsOfFile:YOUR_IMAGE_FILE_PATH]而不是[UIImage imageNamed:@"YOUR_IMAGE_NAME"]设置图像时非常有用,因为如果你使用文件路径设置图像并尝试进行比较,它将无法工作,此时这种比较就非常有用。 - Sandip Patel - SM
实际上,这是一个重复的问题,链接为https://dev59.com/03A75IYBdhLWcg3wPmd8#23725088,而不是当前的重复问题。 - hpique
2个回答

5

您的代码逐位比较了这两个图像,因此是100%的比较。

如果您需要更快的方法,可以从每个UIImage生成哈希值并比较这两个哈希值,如此处所述。


这种比较在你使用[UIImage imageWithContentsOfFile:YOUR_IMAGE_FILE_PATH]而不是[UIImage imageNamed:@"YOUR_IMAGE_NAME"]设置图像时非常有用,因为如果你使用文件路径设置图像并尝试进行比较,它将无法工作,此时这种比较就非常有用。 - Sandip Patel - SM

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接