ดำเนินการค้นหาภาพย้อนกลับโดยใช้ C#

การค้นหาภาพย้อนกลับใน C# ช่วยให้นักพัฒนาสามารถค้นหาภาพที่คล้ายกันภายในคอลเล็กชันได้อย่างมีประสิทธิภาพโดยอิงจากเนื้อหาวิดีโอ แทนที่จะใช้คำสำคัญหรือข้อมูลเมตา ความสามารถนี้มีประโยชน์อย่างยิ่งในแอปพลิเคชัน เช่น การค้นหาภาพ ระบบการจัดการเนื้อหา และการจัดการทรัพยากรดิจิทัล ด้วยการใช้ GroupDocs.Search นักพัฒนา C# สามารถนำฟังก์ชันการค้นหาภาพย้อนกลับไปใช้เพื่อระบุภาพที่ตรงกับการอ้างอิงที่กำหนดได้อย่างรวดเร็ว ในบทความนี้ เราจะศึกษาวิธีการค้นหาภาพย้อนกลับโดยใช้ C# และให้ตัวอย่างโค้ดเพื่อช่วยคุณเริ่มต้น ฟีเจอร์นี้มีประโยชน์อย่างยิ่งเมื่อต้องจัดการกับรูปแบบภาพที่หลากหลาย เช่น ไฟล์ PNG, JPEG หรือ ZIP โดยรับรองความเข้ากันได้กับแพลตฟอร์มและประเภทไฟล์ที่แตกต่างกัน

ขั้นตอนในการค้นหารูปภาพย้อนกลับโดยใช้ C#

  1. เพิ่มไลบรารี GroupDocs.Search for .NET ลงในโปรเจ็กต์ของคุณเพื่อค้นหารูปภาพย้อนกลับ
  2. สร้างอ็อบเจ็กต์ Index โดยใช้โฟลเดอร์ดัชนีที่ระบุ
  3. ตั้งค่ารูปภาพ IndexingOptions เพื่อเปิดใช้งานการจัดทำดัชนีสำหรับรูปภาพไอเท็มคอนเทนเนอร์ รูปภาพที่ฝัง และรูปภาพแยกต่างหาก
  4. เพิ่มเอกสารไปยังโฟลเดอร์ดัชนีโดยมีตัวเลือกการจัดทำดัชนีภาพที่ระบุ
  5. ตั้งค่า ImageSearchOptions รวมถึงความแตกต่างของแฮช จำนวนผลลัพธ์สูงสุด และตัวกรองเอกสารการค้นหา
  6. สร้างรูปภาพอ้างอิงสำหรับการค้นหาโดยระบุเส้นทางไปยังไฟล์รูปภาพโดยใช้เมธอด SearchImage.Create
  7. ดำเนินการค้นหารูปภาพในดัชนีโดยใช้รูปภาพอ้างอิงและตัวเลือกการค้นหาโดยใช้ Index.Search
  8. วนซ้ำผ่านผลลัพธ์การค้นหาและพิมพ์รายละเอียดของภาพที่พบแต่ละภาพ

ในการใช้งานฟังก์ชันนี้ กระบวนการเริ่มต้นด้วยการตั้งค่าดัชนีที่จัดเก็บรูปภาพพร้อมกับข้อมูลเมตาของรูปภาพ คลาส IndexingOptions ใช้เพื่อเปิดใช้งานการจัดทำดัชนีสำหรับรูปภาพประเภทต่างๆ รวมถึงรูปภาพไอเท็มคอนเทนเนอร์ รูปภาพที่ฝังไว้ และรูปภาพแยกต่างหาก เมื่อสร้างดัชนีรูปภาพแล้ว การค้นหาสามารถทำได้โดยใช้คลาส SearchImage ซึ่งช่วยให้สามารถระบุรูปภาพอ้างอิงเพื่อค้นหาผลลัพธ์ที่ตรงกันภายในเอกสารที่สร้างดัชนีได้ ImageSearchOptions ให้การควบคุมเพิ่มเติมสำหรับกระบวนการค้นหา เช่น จำนวนผลลัพธ์สูงสุดและประเภทของเอกสารที่จะค้นหา แนวทางนี้ทำให้สามารถดึงรูปภาพตามเนื้อหาได้อย่างมีประสิทธิภาพในแอปพลิเคชัน C# ด้านล่างนี้คือ โค้ด C# สำหรับการค้นหารูปภาพย้อนกลับ

โค้ดสำหรับการค้นหารูปภาพย้อนกลับโดยใช้ C#

using GroupDocs.Search;
using GroupDocs.Search.Common;
using GroupDocs.Search.Options;
using GroupDocs.Search.Results;
using System;
namespace PerformReverseImageSearchUsingCSharp
{
internal class Program
{
static void Main(string[] args)
{
// Apply the license to remove the restrictions
// imposed by the Search library
License lic = new License();
lic.SetLicense(@"GroupDocs.Search.lic");
string indexFolder = @"d:\MyIndex\";
string documentsFolder = @"d:\MyDocuments\";
// Creating an index in the specified folder
Index index = new Index(indexFolder);
// Setting the image indexing options
IndexingOptions indexingOptions = new IndexingOptions();
indexingOptions.ImageIndexingOptions.EnabledForContainerItemImages = true;
indexingOptions.ImageIndexingOptions.EnabledForEmbeddedImages = true;
indexingOptions.ImageIndexingOptions.EnabledForSeparateImages = true;
// Indexing documents in a document folder
index.Add(documentsFolder, indexingOptions);
// Setting the image search options
ImageSearchOptions imageSearchOptions = new ImageSearchOptions();
imageSearchOptions.HashDifferences = 10;
imageSearchOptions.MaxResultCount = 100;
imageSearchOptions.SearchDocumentFilter = SearchDocumentFilter
.CreateFileExtension(".zip", ".png", ".jpg");
// Creating a reference image for search
SearchImage searchImage = SearchImage.Create(@"d:\MyDocuments\image.png");
// Searching in the index
ImageSearchResult result = index.Search(searchImage, imageSearchOptions);
Console.WriteLine("Images found: " + result.ImageCount);
for (int i = 0; i < result.ImageCount; i++)
{
FoundImageFrame image = result.GetFoundImage(i);
Console.WriteLine(image.DocumentInfo.ToString());
}
}
}
}

การดำเนินการค้นหารูปภาพตามเนื้อหาโดยใช้ C#* เป็นคุณลักษณะที่มีประสิทธิภาพในการค้นหารูปภาพตามเนื้อหา ช่วยให้แอปพลิเคชันค้นหารูปภาพที่คล้ายกันได้อย่างรวดเร็วและแม่นยำในสภาพแวดล้อมต่างๆ ตั้งแต่แอปพลิเคชันเดสก์ท็อปไปจนถึงโซลูชันบนคลาวด์ การรวมไลบรารีการค้นหาสำหรับการสร้างดัชนีและการค้นหารูปภาพช่วยให้มั่นใจได้ว่าโซลูชันนี้เป็นอิสระจากแพลตฟอร์ม เข้ากันได้กับ Windows, macOS และ Linux และสามารถปรับขนาดเพื่อจัดการกับชุดข้อมูลรูปภาพขนาดใหญ่ได้ ด้วยการใช้ประโยชน์จากความสามารถเหล่านี้ นักพัฒนาสามารถสร้างระบบค้นหารูปภาพที่มีประสิทธิภาพซึ่งช่วยปรับปรุงประสบการณ์ของผู้ใช้และปรับปรุงงานการจัดการเนื้อหาบนแพลตฟอร์มและแอปพลิเคชันต่างๆ

ก่อนหน้านี้ เราได้ให้คำแนะนำโดยละเอียดเกี่ยวกับการค้นหาด้วยนิพจน์ทั่วไปโดยใช้ C# หากต้องการดูคำแนะนำทีละขั้นตอนแบบครบถ้วน โปรดอ่านบทความโดยละเอียดของเราเกี่ยวกับวิธีดำเนินการ การค้นหาด้วยนิพจน์ทั่วไปโดยใช้ C#

 ไทย