Die umgekehrte Bildsuche ist eine Technik, mit der Sie anhand Ihres Beispielbilds visuell ähnliche Bilder suchen können. Es gibt viele Anwendungsfälle für die Anwendung der umgekehrten Bildsuchmaschine. Die häufigsten Anwendungsfälle sind die folgenden:

  • Suchen Sie nach doppelten Bildern und entfernen Sie die Duplikate
  • Nach inhaltsähnlichen Bildern suchen
  • Suche nach unangemessenen Inhalten
  • Suche nach digital signierten Bildern

API für die umgekehrte Bildersuche

Es gibt viele Anwendungen für die Bildsuche, die auf Techniken der umgekehrten Bildsuche basieren. Wenn Sie jedoch nach einer REST-API-Lösung für die umgekehrte Bildsuche suchen, sind Sie hier richtig. Aspose.Imaging Cloud bietet eine leistungsstarke Suchmaschine, mit der Entwickler auf jeder Plattform nahtlos Funktionen für die umgekehrte Bildsuche in ihre Anwendungen integrieren können. Sie vergleicht den Quellbildsatz, der mindestens ein Bild enthält, mit mehreren anderen Bildern. Als Ergebnis dieses Vergleichs erhalten Sie eine Liste der ähnlichsten Bilder gemäß den folgenden Bedingungen:

  • Grad der Ähnlichkeit
  • Die minimale Ähnlichkeitsschwelle
  • Vergleichsalgorithmus

Derzeit unterstützt die Aspose.Imaging Cloud-Suchmaschine die inhaltsbasierte Bildsuche, die Suche nach doppelten Bildern, die Bildsuche nach benutzerdefinierten registrierten Tags, den Bildvergleich und die Ähnlichkeitserkennung sowie Vorgänge zur Extraktion von Bildmerkmalen.

Hier geben wir Ihnen einen kurzen Überblick über die Funktion zum Auffinden doppelter Bilder mithilfe der Aspose.Imaging Cloud REST API. Sie können jedoch auch in der Aspose.Imaging Cloud Dokumentation nach einer vollständigen Liste der Funktionen und ihrer Details suchen.

Wie findet man doppelte Bilder?

Erkennung doppelter Bilder. Dies ist die häufigste Verwendung der umgekehrten Bildsuchmaschine. Viele Kunden müssen ihre Fotobibliotheken sortieren, indem sie ähnliche Fotobilder suchen und ein oder mehrere Aufnahmen übrig lassen und die übrigen löschen.

Wir zeigen Ihnen, wie einfach Sie mit der Aspose.Imaging Cloud API doppelte Bilder finden können. Im Beispiel verwenden wir den Algorithmus AKAZE zur Merkmalserkennung und den Algorithmus RandomBinaryTree zum Merkmalsabgleich. Wir folgen diesen Schritten, um die doppelten Bilder zu finden:

  • Quellbilder in den Speicher hochladen
  • Suchkontext erstellen
  • Bildfunktionen extrahieren
  • Suchen nach doppelten Bildern

Bilder in den Speicher hochladen

// Eingabebilder in den Cloud-Speicher hochladen
DirectoryInfo dir = new DirectoryInfo(PathToDataFiles);
FileInfo[] images = dir.GetFiles();
foreach (FileInfo image in images)
{
	// Laden Sie das lokale Bild in den Cloud-Speicher hoch
	using (FileStream localInputImage = System.IO.File.OpenRead(image.FullName))
	{
		var uploadFileRequest = new UploadFileRequest(image.Name, localInputImage);
		FilesUploadResult result = imagingApi.UploadFile(uploadFileRequest);
	}
	
}

Suchkontext erstellen

// Neuen Suchkontext erstellen
 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;
}

Bildfunktionen extrahieren

// Funktionen zum Extrahieren von Bildern
foreach (FileInfo image in images)
	{               
	   CreateImageFeatures(image.Name, false, searchContextId);
    }
	
/////////////////////

// Extrahieren Sie Bildfunktionen und fügen Sie sie zum Suchkontext hinzu.
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);
}

Suchen nach doppelten Bildern

// Doppelte Bilder finden
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);

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

Abschluss

In diesem Beitrag haben wir die Funktionen von Aspose.Imaging Cloud zur Erkennung doppelter Bilder kennengelernt. Wir haben uns die Codebeispiele und Einzelheiten zur Implementierung dieser Funktion in Ihre Anwendung angesehen. Wenn Sie in der Zwischenzeit eine Frage haben oder weitere Hilfe benötigen, können Sie uns unten einen Kommentar hinterlassen oder eine Frage im kostenlosen Support-Forum stellen. Dies hilft uns, unsere API kontinuierlich zu verbessern und zu verfeinern.

Um mehr über Aspose.Imaging Cloud mit einer kostenlosen Testversion zu erfahren, müssen Sie sich lediglich bei aspose.cloud anmelden. Sobald Sie sich angemeldet haben, können Sie die folgenden nützlichen Ressourcen von Aspose.Imaging Cloud durchgehen.

Wir empfehlen Ihnen, die folgenden Links zu besuchen, um mehr zu erfahren über: