חיפוש תמונות הפוך הוא טכניקה שעוזרת לך לחפש תמונות דומות מבחינה ויזואלית על סמך תמונת הדוגמה שלך. ייתכנו מקרי שימוש רבים להחלת מנוע חיפוש התמונות ההפוך. מקרי השימוש הנפוצים ביותר הם הבאים:

  • חפש תמונה כפולה והסר את הכפילויות
  • חפש תמונות דומות לתוכן
  • חפש תוכן לא הולם
  • חפש תמונות חתומות דיגיטלית

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.

קישורים קשורים

אנו ממליצים לבקר בקישורים הבאים כדי ללמוד עוד על: