2017-05-25 1 views
0

Je veux trouver des photos en double de la bibliothèque de photos Je suis rapide en utilisant le code suivant pour récupérer l'image en double, mais sa prise de temps:iOS comment trouver des images en double de la photothèque rapidement?

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"); 
      } 

obtenir les données et comparer 1000 déchets des photos de temps quelqu'un peut me aider pour ceci, aide sera appréciée .. merci

+0

Définir même code dans la file d'attente d'arrière-plan ou vous devez trouver l'aide double image Nom –

+0

mais si je clique sur 2 image avec la même pose le nom sera différent de l'image sera le même .... alors ? –

Répondre

0

Le code que vous utilisez pour comparer deux images comparera les deux images bit par bit pour l'égalité. Si vous prenez des photos similaires, la comparaison conduira à inégalité. Si vous souhaitez supprimer les images en double ayant la même composition de données, le code actuel fonctionnera correctement. Si vous souhaitez inclure des images similaires pour réussir le test d'égalité, vous devez utiliser une logique différente pour comparer. Et btw, ne pas exécuter ce code dans le fil principal. Exécutez-le de manière asynchrone s'il s'agit d'une tâche de longue durée. Lorsque vous utilisez UIImageJPEGRepresentation, essayez de compresser (0.5 or lower) les images au lieu de définir la qualité sur 1.0, ce qui peut entraîner une amélioration.

Pour comparer les images, et vérifier si elles sont semblables à un certain pourcentage, vous pouvez consulter cette réponse de SO:

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

+0

pouvez-vous me suggérer une logique pour cela? Je suis à la recherche de cette logique seulement ... @ Badhan Ganesh –

+0

qu'en est-il de la largeur, la hauteur et le getRGBForX? ce n'est pas mentionné dans cette réponse frère .... –

+0

pouvez-vous suggérer une autre façon de comparer l'image qui est juste légèrement différente les uns des autres? –

0

Un sujet similaire est discuté et il y a de bonnes suggestions. La lecture peut être bénéfique.

Image comparison - fast algorithm

+1

sa discussion i besoin d'aide logique et de codage pour iOS (objectif c) –