Reverse Image Search არის ტექნიკა, რომელიც დაგეხმარებათ მოძებნოთ ვიზუალურად მსგავსი სურათები თქვენი ნიმუშის სურათის საფუძველზე. საპირისპირო გამოსახულების საძიებო სისტემის გამოსაყენებლად შეიძლება ბევრი გამოყენება იყოს. გამოყენების ყველაზე გავრცელებული შემთხვევებია შემდეგი:

  • მოძებნეთ დუბლიკატი სურათი და წაშალეთ დუბლიკატები
  • მოძებნეთ შინაარსის მსგავსი სურათები
  • მოძებნეთ შეუსაბამო შინაარსი
  • მოძებნეთ ციფრულად ხელმოწერილი სურათები

Reverse Image Search API

არსებობს მრავალი აპლიკაცია გამოსახულების საძიებლად, სურათების საპირისპირო ძიების ტექნიკის საფუძველზე. თუმცა, თუ თქვენ ეძებთ REST API გადაწყვეტას გამოსახულების საპირისპირო ძიებისთვის, მაშინ თქვენ მოხვდით სწორ ადგილას. Aspose.Imaging Cloud უზრუნველყოფს მძლავრ საძიებო სისტემას, რომელიც ეხმარება დეველოპერებს, შეუფერხებლად დაამატონ გამოსახულების საპირისპირო ძიების ფუნქციები თავიანთ აპლიკაციაში ნებისმიერ პლატფორმაზე. იგი ადარებს წყაროს გამოსახულების კომპლექტს, რომელიც შეიცავს სულ მცირე ერთ სურათს, რამდენიმე სხვა სურათს. ამ შედარების შედეგად, თქვენ მიიღებთ ყველაზე მსგავსი სურათების ჩამონათვალს შემდეგი პირობების მიხედვით:

  • მსგავსების ხარისხი
  • მსგავსების მინიმალური ზღვარი
  • შედარების ალგორითმი

ამჟამად, Aspose.Imaging Cloud საძიებო სისტემა მხარს უჭერს შინაარსზე დაფუძნებულ გამოსახულების ძიებას, გამოსახულების დუბლიკატის ძიებას, სურათების ძიებას პირადი რეგისტრირებული ტეგებით, სურათების შედარებისა და მსგავსების გამოვლენისა და გამოსახულების მახასიათებლების ამოღების ოპერაციებს.

აქ ჩვენ მოგაწვდით ფუნქციის სწრაფ მიმოხილვას, რომ იპოვოთ დუბლიკატი სურათები Aspose.Imaging Cloud REST API-ს გამოყენებით. თუმცა, შეგიძლიათ შეამოწმოთ Aspose.Imaging Cloud documentation ფუნქციების სრული სიისა და მათი დეტალებისთვის.

როგორ მოვძებნოთ დუბლიკატი სურათები?

გამოსახულების დუბლიკატი ამოცნობა, ეს არის საპირისპირო გამოსახულების საძიებო სისტემის ყველაზე გავრცელებული გამოყენება. ბევრ მომხმარებელს სჭირდება საკუთარი ფოტო ბიბლიოთეკის დალაგება მსგავსი ფოტოსურათების მოძიებით და ერთი ან რამდენიმე კადრის დატოვების გზით, ხოლო დანარჩენი წაშლის.

ჩვენ გაჩვენებთ, რამდენად მარტივად შეგიძლიათ იპოვოთ დუბლიკატი სურათები 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-ის შემდეგი სასარგებლო რესურსები.

დაკავშირებული ბმულები

ჩვენ გირჩევთ ეწვიოთ შემდეგ ბმულებს მეტის გასაგებად: