2017-05-25 494 views
0

我想找到照片库重复的照片快我用下面的代码取回复制的图像,但它的服用时间: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张照片废这,帮助将不胜感激..谢谢

+0

设置相同的代码在后台排队或者你需要查找重复使用图像名称 –

+0

但如果我点击2图像类似姿名称将是不同的图像将是相同的....然后? –

回答

0

你用来比较两个图像的代码将比较两个图像一点一点为平等。如果拍摄类似照片,则比较将导致不等式。如果你想删除重复图片具有相同的数据组成,当前的代码将正常工作。如果你想包括类似的图片通过平等测试,你需要使用不同的逻辑来比较。顺便说一句,不要在主线程中运行此代码。异步运行如果是长时间运行的任务。

使用UIImageJPEGRepresentation时,尝试压缩(0.5 or lower)图像,而不是将质量设置为1.0,这可能会导致一些改进。

要比较的图像,并检查他们类似的一定比例,你可以从SO看看这个答案:

Compare one image to another to see if they are similar by a certain percentage

+0

你能为我推荐一些逻辑吗?我只是在寻找那个逻辑...... @ Badhan Ganesh –

+0

宽度,高度和getRGBForX怎么样? 多数民众赞成多数民众赞成在那个答案没有提到.... –

+0

你能提出另一种比较图像,只是彼此略有不同的方式? –