2017-05-25 115 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

你能提出另一種比較圖像,只是彼此略有不同的方式? –