การค้นหาภาพย้อนกลับใน C# ช่วยให้นักพัฒนาสามารถค้นหาภาพที่คล้ายกันภายในคอลเล็กชันได้อย่างมีประสิทธิภาพโดยอิงจากเนื้อหาวิดีโอ แทนที่จะใช้คำสำคัญหรือข้อมูลเมตา ความสามารถนี้มีประโยชน์อย่างยิ่งในแอปพลิเคชัน เช่น การค้นหาภาพ ระบบการจัดการเนื้อหา และการจัดการทรัพยากรดิจิทัล ด้วยการใช้ GroupDocs.Search นักพัฒนา C# สามารถนำฟังก์ชันการค้นหาภาพย้อนกลับไปใช้เพื่อระบุภาพที่ตรงกับการอ้างอิงที่กำหนดได้อย่างรวดเร็ว ในบทความนี้ เราจะศึกษาวิธีการค้นหาภาพย้อนกลับโดยใช้ C# และให้ตัวอย่างโค้ดเพื่อช่วยคุณเริ่มต้น ฟีเจอร์นี้มีประโยชน์อย่างยิ่งเมื่อต้องจัดการกับรูปแบบภาพที่หลากหลาย เช่น ไฟล์ PNG, JPEG หรือ ZIP โดยรับรองความเข้ากันได้กับแพลตฟอร์มและประเภทไฟล์ที่แตกต่างกัน
ขั้นตอนในการค้นหารูปภาพย้อนกลับโดยใช้ C#
- เพิ่มไลบรารี GroupDocs.Search for .NET ลงในโปรเจ็กต์ของคุณเพื่อค้นหารูปภาพย้อนกลับ
- สร้างอ็อบเจ็กต์ Index โดยใช้โฟลเดอร์ดัชนีที่ระบุ
- ตั้งค่ารูปภาพ IndexingOptions เพื่อเปิดใช้งานการจัดทำดัชนีสำหรับรูปภาพไอเท็มคอนเทนเนอร์ รูปภาพที่ฝัง และรูปภาพแยกต่างหาก
- เพิ่มเอกสารไปยังโฟลเดอร์ดัชนีโดยมีตัวเลือกการจัดทำดัชนีภาพที่ระบุ
- ตั้งค่า ImageSearchOptions รวมถึงความแตกต่างของแฮช จำนวนผลลัพธ์สูงสุด และตัวกรองเอกสารการค้นหา
- สร้างรูปภาพอ้างอิงสำหรับการค้นหาโดยระบุเส้นทางไปยังไฟล์รูปภาพโดยใช้เมธอด SearchImage.Create
- ดำเนินการค้นหารูปภาพในดัชนีโดยใช้รูปภาพอ้างอิงและตัวเลือกการค้นหาโดยใช้ Index.Search
- วนซ้ำผ่านผลลัพธ์การค้นหาและพิมพ์รายละเอียดของภาพที่พบแต่ละภาพ
ในการใช้งานฟังก์ชันนี้ กระบวนการเริ่มต้นด้วยการตั้งค่าดัชนีที่จัดเก็บรูปภาพพร้อมกับข้อมูลเมตาของรูปภาพ คลาส 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#