Η αντίστροφη αναζήτηση εικόνων είναι μια τεχνική που σας βοηθά να αναζητήσετε οπτικά παρόμοιες εικόνες με βάση το δείγμα της εικόνας σας. Μπορεί να υπάρχουν πολλές περιπτώσεις χρήσης για την εφαρμογή της αντίστροφης μηχανής αναζήτησης εικόνων. Οι πιο συνηθισμένες περιπτώσεις χρήσης είναι οι ακόλουθες:

  • Αναζητήστε διπλότυπη εικόνα και αφαιρέστε τα διπλότυπα
  • Αναζήτηση για παρόμοιες εικόνες περιεχομένου
  • Αναζήτηση για ακατάλληλο περιεχόμενο
  • Αναζήτηση εικόνων με ψηφιακή υπογραφή

Reverse Image Search API

Υπάρχουν πολλές διαθέσιμες εφαρμογές για αναζήτηση εικόνων με βάση τεχνικές αντίστροφης αναζήτησης εικόνων. Ωστόσο, αν ψάχνετε για μια λύση REST API για αντίστροφη αναζήτηση εικόνων, τότε έχετε φτάσει στο σωστό μέρος. Το Aspose.Imaging Cloud παρέχει μια ισχυρή μηχανή αναζήτησης που βοηθά τους προγραμματιστές να προσθέτουν λειτουργίες αντίστροφης αναζήτησης εικόνων στην εφαρμογή τους σε οποιαδήποτε πλατφόρμα χωρίς προβλήματα. Συγκρίνει το σύνολο εικόνων πηγής, που περιέχει τουλάχιστον μία εικόνα, με πολλές άλλες εικόνες. Ως αποτέλεσμα αυτής της σύγκρισης, λαμβάνετε μια λίστα με τις πιο παρόμοιες εικόνες σύμφωνα με τις ακόλουθες συνθήκες:

  • Βαθμός ομοιότητας
  • Το ελάχιστο όριο ομοιότητας
  • Αλγόριθμος σύγκρισης

Επί του παρόντος, η μηχανή αναζήτησης Aspose.Imaging Cloud υποστηρίζει αναζήτηση εικόνων βάσει περιεχομένου, αναζήτηση διπλών εικόνων, αναζήτηση εικόνων με προσαρμοσμένες καταχωρημένες ετικέτες, σύγκριση εικόνων και ανίχνευση ομοιότητας και λειτουργίες εξαγωγής χαρακτηριστικών εικόνας.

Εδώ, θα σας δώσουμε μια γρήγορη επισκόπηση της δυνατότητας για να βρείτε διπλότυπες εικόνες χρησιμοποιώντας το Aspose.Imaging Cloud REST API. Ωστόσο, μπορείτε να ελέγξετε την Τεκμηρίωση Aspose.Imaging Cloud για μια πλήρη λίστα λειτουργιών και τις λεπτομέρειες τους.

Πώς να βρείτε διπλότυπες εικόνες;

Ανίχνευση διπλών εικόνων, αυτή είναι η πιο κοινή χρήση της μηχανής αναζήτησης αντίστροφης εικόνας. Πολλοί πελάτες πρέπει να ταξινομήσουν τις βιβλιοθήκες φωτογραφιών τους βρίσκοντας παρόμοιες εικόνες φωτογραφιών και αφήνοντας μία ή περισσότερες λήψεις ενώ διαγράφουν τις υπόλοιπες.

Θα σας δείξουμε πόσο εύκολα μπορείτε να βρείτε διπλότυπες εικόνες χρησιμοποιώντας το Aspose.Imaging Cloud API. Χρησιμοποιούμε τον αλγόριθμο AKAZE για τον εντοπισμό χαρακτηριστικών και τον αλγόριθμο RandomBinaryTree για την αντιστοίχιση χαρακτηριστικών στο παράδειγμα. Θα ακολουθήσουμε αυτά τα βήματα για να βρούμε τις διπλότυπες εικόνες:

  • Μεταφόρτωση εικόνων πηγής στο χώρο αποθήκευσης
  • Δημιουργία περιβάλλοντος αναζήτησης
  • Εξαγωγή χαρακτηριστικών εικόνας
  • Βρείτε διπλότυπες εικόνες

Μεταφόρτωση εικόνων στο χώρο αποθήκευσης

// Μεταφορτώστε εικόνες εισόδου στο Cloud Storage
DirectoryInfo dir = new DirectoryInfo(PathToDataFiles);
FileInfo[] images = dir.GetFiles();
foreach (FileInfo image in images)
{
	// Ανεβάστε τοπική εικόνα στο Cloud Storage
	using (FileStream localInputImage = System.IO.File.OpenRead(image.FullName))
	{
		var uploadFileRequest = new UploadFileRequest(image.Name, localInputImage);
		FilesUploadResult result = imagingApi.UploadFile(uploadFileRequest);
	}
	
}

Δημιουργία περιβάλλοντος αναζήτησης

// Δημιουργία νέου περιβάλλοντος αναζήτησης
 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;
}

Εξαγωγή χαρακτηριστικών εικόνας

// εξαγωγή χαρακτηριστικών εικόνων
foreach (FileInfo image in images)
	{               
	   CreateImageFeatures(image.Name, false, searchContextId);
    }
	
/////////////////////

// Εξαγάγετε λειτουργίες εικόνων και προσθέστε τις στο πλαίσιο αναζήτησης.
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);
}

Βρείτε διπλότυπες εικόνες

// Εύρεση διπλών εικόνων
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);

// διαδικασία διπλότυπα αποτελέσματα αναζήτησης
foreach (var duplicates in imageDuplicatesSet.Duplicates)
{
	Console.WriteLine("Duplicates:");
	foreach (var duplicate in duplicates.DuplicateImages)
	{
		Console.WriteLine(
		   $"ImageName: {duplicate.ImageId}, Similarity: {duplicate.Similarity}");
	}

Σύναψη

Σε αυτήν την ανάρτηση, μάθαμε για τις δυνατότητες του Aspose.Imaging Cloud για ανίχνευση διπλών εικόνων. Έχουμε δει τα δείγματα κώδικα και τις λεπτομέρειες σχετικά με τον τρόπο εφαρμογής αυτής της δυνατότητας στην εφαρμογή σας. Εν τω μεταξύ, εάν έχετε κάποια ερώτηση ή χρειάζεστε περαιτέρω βοήθεια, μη διστάσετε να μας αφήσετε ένα σχόλιο παρακάτω ή να δημοσιεύσετε μια ερώτηση στο φόρουμ δωρεάν υποστήριξης. Μας βοηθά να βελτιώνουμε και να βελτιώνουμε συνεχώς το API μας.

Για να μάθετε περισσότερα για το Aspose.Imaging Cloud χρησιμοποιώντας μια δωρεάν δοκιμή, το μόνο που χρειάζεστε είναι να εγγραφείτε στο aspose.cloud. Αφού εγγραφείτε, μπορείτε να διαβάσετε τους παρακάτω χρήσιμους πόρους του Aspose.Imaging Cloud.

Σχετικοί Σύνδεσμοι

Συνιστούμε να επισκεφτείτε τους παρακάτω συνδέσμους για να μάθετε περισσότερα σχετικά με: