iOS如何快速找到照片库中的重复图像?
我想找到照片库重复的照片快我用下面的代码取回复制的图像,但它的服用时间:iOS如何快速找到照片库中的重复图像?
UIImage *img1 = [imgArray objectAtIndex:i];
UIImage *img2 = [imgArray objectAtIndex:j];
NSData *data1 = UIImageJPEGRepresentation(img1, 1.0);
NSLog(@"%@",data1);
NSData *data2 = UIImageJPEGRepresentation(img2, 1.0);
NSLog(@"%@",data2);
if ([data1 isEqualToData:data2])
{
[duparray addObject:[imageArray objectAtIndex:i]];
[duparray addObject:[imageArray objectAtIndex:j]];
}
else
{
NSLog(@"no");
}
获取数据和比较的时间 有人能帮助我的1000张照片废这,帮助将不胜感激..谢谢
你用来比较两个图像的代码将比较两个图像一点一点为平等。如果拍摄类似照片,则比较将导致不等式。如果你想删除重复图片具有相同的数据组成,当前的代码将正常工作。如果你想包括类似的图片通过平等测试,你需要使用不同的逻辑来比较。顺便说一句,不要在主线程中运行此代码。异步运行如果是长时间运行的任务。
使用UIImageJPEGRepresentation
时,尝试压缩(0.5 or lower
)图像,而不是将质量设置为1.0
,这可能会导致一些改进。
要比较的图像,并检查他们类似的一定比例,你可以从SO看看这个答案:
Compare one image to another to see if they are similar by a certain percentage
你能为我推荐一些逻辑吗?我只是在寻找那个逻辑...... @ Badhan Ganesh –
宽度,高度和getRGBForX怎么样? 多数民众赞成多数民众赞成在那个答案没有提到.... –
你能提出另一种比较图像,只是彼此略有不同的方式? –
设置相同的代码在后台排队或者你需要查找重复使用图像名称 –
但如果我点击2图像类似姿名称将是不同的图像将是相同的....然后? –