Reverse Image Search is een techniek die u helpt om visueel vergelijkbare afbeeldingen te zoeken op basis van uw voorbeeldafbeelding. Er zijn mogelijk veel use cases om de reverse image search engine toe te passen. De meest voorkomende use cases zijn de volgende:

  • Zoek naar dubbele afbeeldingen en verwijder de duplicaten
  • Zoeken naar inhoud vergelijkbare afbeeldingen
  • Zoeken naar ongepaste inhoud
  • Zoeken naar digitaal ondertekende afbeeldingen

API voor omgekeerd zoeken naar afbeeldingen

Er zijn veel applicaties beschikbaar voor het zoeken naar afbeeldingen op basis van reverse image search-technieken. Als u echter op zoek bent naar een REST API-oplossing voor reverse image search, dan bent u op de juiste plek terechtgekomen. Aspose.Imaging Cloud biedt een krachtige zoekmachine die ontwikkelaars helpt om reverse image search-functies naadloos toe te voegen aan hun applicatie op elk platform. Het vergelijkt de bronafbeeldingset, die ten minste één afbeelding bevat, met meerdere andere afbeeldingen. Als resultaat van deze vergelijking krijgt u een lijst met de meest vergelijkbare afbeeldingen volgens de volgende voorwaarden:

  • Gelijkenisgraad
  • De minimale drempel van gelijkenis
  • Vergelijkingsalgoritme

Momenteel ondersteunt de Aspose.Imaging Cloud-zoekmachine inhoudsgebaseerd zoeken naar afbeeldingen, zoeken naar dubbele afbeeldingen, zoeken naar afbeeldingen op basis van aangepaste geregistreerde tags, vergelijken van afbeeldingen, detecteren van gelijkenissen en extraheren van afbeeldingskenmerken.

Hier geven we u een snel overzicht van de functie om dubbele afbeeldingen te vinden met behulp van Aspose.Imaging Cloud REST API. U kunt echter Aspose.Imaging Cloud-documentatie raadplegen voor een volledige lijst met functies en hun details.

Hoe vind ik dubbele afbeeldingen?

Detectie van dubbele afbeeldingen, dit is het meest voorkomende gebruik van de reverse image search engine. Veel klanten moeten hun fotobibliotheken sorteren door vergelijkbare foto’s te vinden en een of meerdere foto’s te laten staan terwijl ze de resterende verwijderen.

We laten je zien hoe eenvoudig je dubbele afbeeldingen kunt vinden met Aspose.Imaging Cloud API. We gebruiken het AKAZE-algoritme voor het detecteren van kenmerken en het RandomBinaryTree-algoritme voor het matchen van kenmerken in het voorbeeld. We volgen deze stappen om de dubbele afbeeldingen te vinden:

  • Bronafbeeldingen uploaden naar opslag
  • Zoekcontext creëren
  • Afbeeldingskenmerken extraheren
  • Dubbele afbeeldingen vinden

Afbeeldingen uploaden naar opslag

// Upload invoerafbeeldingen naar Cloudopslag
DirectoryInfo dir = new DirectoryInfo(PathToDataFiles);
FileInfo[] images = dir.GetFiles();
foreach (FileInfo image in images)
{
	// Upload lokale afbeelding naar Cloudopslag
	using (FileStream localInputImage = System.IO.File.OpenRead(image.FullName))
	{
		var uploadFileRequest = new UploadFileRequest(image.Name, localInputImage);
		FilesUploadResult result = imagingApi.UploadFile(uploadFileRequest);
	}
	
}

Zoekcontext creëren

// Nieuwe zoekcontext maken
 string searchContextId = CreateImageSearch();

////////////////

public static string CreateImageSearch()
{
	string detector = "akaze";
	string matchingAlgorithm = "randomBinaryTree";
	string folder = null; // File will be saved at the root of the storage
	string storage = null; // We are using default Cloud Storage

	CreateImageSearchRequest createSearchContextRequest = new CreateImageSearchRequest(detector,matchingAlgorithm, folder, storage);
	SearchContextStatus status = imagingApi.CreateImageSearch(createSearchContextRequest);
	return status.Id;
}

Afbeeldingskenmerken extraheren

// afbeeldingen extraheren functies
foreach (FileInfo image in images)
	{               
	   CreateImageFeatures(image.Name, false, searchContextId);
    }
	
/////////////////////

// Haal kenmerken uit afbeeldingen en voeg ze toe aan de zoekcontext.
public static void CreateImageFeatures(string storageSourcePath, bool isFolder, string searchContextId)
{
	var request = isFolder
		   ? new CreateImageFeaturesRequest(searchContextId, imageId: null, imagesFolder: storageSourcePath, storage: null)
		   : new CreateImageFeaturesRequest(searchContextId, imageId: storageSourcePath, storage: null);
	imagingApi.CreateImageFeatures(request);
}

Dubbele afbeeldingen vinden

// Dubbele afbeeldingen vinden
double? similarityThreshold = 80; // The similarity threshold
string folder = null; // Path to input files
string storage = null; // We are using default Cloud Storage

ImageDuplicatesSet imageDuplicatesSet = imagingApi.FindImageDuplicates(new FindImageDuplicatesRequest(searchContextId, similarityThreshold, folder, storage));
Console.WriteLine("Duplicates Set Count: " + imageDuplicatesSet.Duplicates.Count);

// Verwerk duplicaten zoekresultaten
foreach (var duplicates in imageDuplicatesSet.Duplicates)
{
	Console.WriteLine("Duplicates:");
	foreach (var duplicate in duplicates.DuplicateImages)
	{
		Console.WriteLine(
		   $"ImageName: {duplicate.ImageId}, Similarity: {duplicate.Similarity}");
	}

Conclusie

In dit bericht hebben we geleerd over de mogelijkheden van Aspose.Imaging Cloud voor het detecteren van dubbele afbeeldingen. We hebben de codevoorbeelden en de details over hoe u deze functie in uw toepassing kunt implementeren, bekeken. Als u ondertussen een vraag hebt of verdere assistentie nodig hebt, kunt u hieronder een reactie achterlaten of een vraag stellen in het gratis ondersteuningsforum. Het helpt ons om onze API voortdurend te verbeteren en te verfijnen.

Om meer te weten te komen over Aspose.Imaging Cloud met behulp van een gratis proefversie, hoeft u zich alleen maar aan te melden bij aspose.cloud]5. Nadat u zich hebt aangemeld, kunt u de volgende nuttige bronnen van Aspose.Imaging Cloud doornemen.

Voor meer informatie raden wij u aan de volgende links te bezoeken: