我找到了这段代码,并试图更好地理解它:
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完全相同?这种方法是最佳实践,还是有更好的方法呢?
答案 0 :(得分:5)
你的代码是逐位比较两个图像,所以是的,它是100%的比较。
如果您需要更快的速度,可以从每个UIImage
生成一个哈希值并比较两个哈希值,如here所述。
答案 1 :(得分:1)
看一下这个链接,它会谈到所有关于图像采样以查看百分比相似性:How does one compare one image to another to see if they are similar by a certain percentage, on the iPhone?