A fordított képkeresés egy olyan technika, amely segít a vizuálisan hasonló képek keresésében a mintakép alapján. A fordított képkereső alkalmazásának számos felhasználási esete lehet. A leggyakoribb használati esetek a következők:

  • Keressen ismétlődő képet, és távolítsa el a másolatokat
  • Hasonló képek keresése
  • Nem megfelelő tartalom keresése
  • Keressen digitálisan aláírt képeket

Reverse Image Search API

A fordított képkeresési technikákon alapuló képkereséshez számos alkalmazás áll rendelkezésre. Ha azonban REST API-megoldást keres a fordított képkereséshez, akkor jó helyen jár. Az Aspose.Imaging Cloud hatékony keresőmotort biztosít, amely segít a fejlesztőknek, hogy bármilyen platformon zökkenőmentesen hozzáadhassanak fordított képkeresési funkciókat az alkalmazásaikhoz. Összehasonlítja a legalább egy képet tartalmazó forrásképkészletet több más képpel. Az összehasonlítás eredményeként megkapja a leginkább hasonló képek listáját a következő feltételek szerint:

  • A hasonlóság mértéke
  • A hasonlóság minimális küszöbe
  • Összehasonlítás algoritmusa

Jelenleg az Aspose.Imaging Cloud keresőmotor támogatja a tartalomalapú képkeresést, a duplikált képkeresést, a képkeresést egyéni regisztrált címkék alapján, a kép-összehasonlítást és a hasonlóság-észlelést, valamint a képjellemzők kinyerési műveleteit.

Itt egy gyors áttekintést adunk arról, hogy az Aspose.Imaging Cloud REST API használatával duplikált képeket találhat. Azonban az Aspose.Imaging Cloud dokumentációjában megtekintheti a szolgáltatások teljes listáját és részleteit.

Hogyan kereshetek duplikált képeket?

Duplikált képérzékelés, ez a fordított képkereső legáltalánosabb használata. Sok ügyfélnek úgy kell rendeznie fotókönyvtárát, hogy hasonló fotókat keres, és hagy egy vagy több felvételt, míg a többit törli.

Megmutatjuk, milyen könnyen találhat ismétlődő képeket az Aspose.Imaging Cloud API segítségével. A példában az AKAZE algoritmust használjuk a jellemzők észleléséhez és a RandomBinaryTree algoritmust a jellemzők egyeztetéséhez. Az alábbi lépéseket követjük az ismétlődő képek megkereséséhez:

  • Töltse fel a forrásképeket a tárhelyre
  • Hozzon létre keresési kontextust
  • Képjellemzők kibontása
  • Keressen ismétlődő képeket

Töltsön fel képeket a tárhelyre

// Töltsön fel bemeneti képeket a Cloud Storage szolgáltatásba
DirectoryInfo dir = new DirectoryInfo(PathToDataFiles);
FileInfo[] images = dir.GetFiles();
foreach (FileInfo image in images)
{
	// Helyi kép feltöltése a Cloud Storage szolgáltatásba
	using (FileStream localInputImage = System.IO.File.OpenRead(image.FullName))
	{
		var uploadFileRequest = new UploadFileRequest(image.Name, localInputImage);
		FilesUploadResult result = imagingApi.UploadFile(uploadFileRequest);
	}
	
}

Hozzon létre keresési kontextust

// Hozzon létre új keresési kontextust
 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;
}

Kép jellemzőinek kibontása

// képek kivonat funkciói
foreach (FileInfo image in images)
	{               
	   CreateImageFeatures(image.Name, false, searchContextId);
    }
	
/////////////////////

// Bontsa ki a képek jellemzőit, és adja hozzá őket a keresési kontextushoz.
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);
}

Keressen ismétlődő képeket

// Ismétlődő képek keresése
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);

// folyamat duplikálja a keresési eredményeket
foreach (var duplicates in imageDuplicatesSet.Duplicates)
{
	Console.WriteLine("Duplicates:");
	foreach (var duplicate in duplicates.DuplicateImages)
	{
		Console.WriteLine(
		   $"ImageName: {duplicate.ImageId}, Similarity: {duplicate.Similarity}");
	}

Következtetés

Ebben a bejegyzésben megismerkedtünk az Aspose.Imaging Cloud duplikált képfelismerési képességeivel. Láttuk a kódmintákat és a funkció alkalmazásában való megvalósításának részleteit. Eközben, ha kérdése van, vagy további segítségre van szüksége, kérjük, írjon nekünk megjegyzést alább, vagy tegyen fel kérdést az ingyenes támogatási fórumon. Segít nekünk API-nk folyamatos fejlesztésében és finomításában.

Ha többet szeretne megtudni az Aspose.Imaging Cloudról egy ingyenes próbaverzió használatával, csak regisztrálnia kell az aspose.cloud oldalon. A regisztráció után áttekintheti az Aspose.Imaging Cloud alábbi hasznos forrásait.

Kapcsolódó linkek

Javasoljuk, hogy látogassa meg az alábbi linkeket, ha többet szeretne megtudni erről: