Melakukan pencarian gambar terbalik dalam C# memungkinkan pengembang untuk menemukan gambar serupa secara efisien dalam suatu koleksi berdasarkan konten visual, bukan kata kunci atau metadata. Kemampuan ini khususnya berguna dalam aplikasi seperti pencarian gambar, sistem manajemen konten, dan manajemen aset digital. Dengan menggunakan GroupDocs.Search, pengembang C# dapat mengimplementasikan fungsi pencarian gambar terbalik untuk mengidentifikasi gambar yang cocok dengan referensi tertentu dengan cepat. Dalam artikel ini, kami akan membahas cara melakukan pencarian gambar terbalik menggunakan C# dan memberikan contoh kode untuk membantu Anda memulai. Fitur ini khususnya berguna saat menangani beragam format gambar seperti arsip PNG, JPEG, atau ZIP, yang memastikan kompatibilitas di berbagai platform dan jenis file.
Langkah-langkah untuk Melakukan Pencarian Gambar Terbalik menggunakan C#
- Tambahkan pustaka GroupDocs.Search for .NET ke proyek Anda untuk pencarian gambar terbalik
- Buat objek Index menggunakan folder indeks yang ditentukan
- Tetapkan gambar IndexingOptions untuk mengaktifkan pengindeksan untuk gambar item kontainer, gambar tertanam, dan gambar terpisah
- Tambahkan dokumen ke folder indeks dengan opsi pengindeksan gambar yang ditentukan
- Tetapkan ImageSearchOptions termasuk perbedaan hash, jumlah hasil maksimum, dan filter dokumen pencarian
- Buat gambar referensi untuk pencarian dengan menentukan jalur ke file gambar menggunakan metode SearchImage.Create
- Lakukan pencarian gambar dalam indeks menggunakan gambar referensi dan opsi pencarian menggunakan Index.Search
- Ulangi hasil pencarian dan cetak detail setiap gambar yang ditemukan
Untuk menjalankan fungsi ini, proses dimulai dengan menyiapkan indeks yang menyimpan gambar beserta metadatanya. Kelas IndexingOptions digunakan untuk mengaktifkan pengindeksan untuk berbagai jenis gambar, termasuk gambar item kontainer, gambar tertanam, dan gambar terpisah. Setelah gambar diindeks, pencarian dapat dilakukan menggunakan kelas SearchImage, yang memungkinkan penentuan gambar referensi untuk menemukan kecocokan serupa dalam dokumen yang diindeks. ImageSearchOptions menyediakan kontrol tambahan atas proses pencarian, seperti jumlah hasil maksimum dan jenis dokumen yang akan dicari. Pendekatan ini memungkinkan untuk melakukan pengambilan gambar berbasis konten yang efisien dalam aplikasi C#. Berikut adalah kode C# untuk pencarian gambar terbalik.
Kode untuk Melakukan Pencarian Gambar Terbalik menggunakan 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()); | |
} | |
} | |
} | |
} |
Melakukan pengambilan gambar berbasis konten menggunakan C# merupakan fitur yang hebat untuk pengambilan gambar berbasis konten, yang memungkinkan aplikasi menemukan gambar serupa dengan cepat dan akurat di berbagai lingkungan, mulai dari aplikasi desktop hingga solusi berbasis cloud. Integrasi pustaka Pencarian untuk pengindeksan dan pencarian gambar memastikan bahwa solusi tersebut bersifat independen terhadap platform, kompatibel dengan Windows, macOS, dan Linux, serta dapat diskalakan untuk menangani kumpulan data gambar yang besar. Dengan memanfaatkan kemampuan ini, pengembang dapat membuat sistem pencarian gambar yang tangguh yang meningkatkan pengalaman pengguna dan menyederhanakan tugas manajemen konten di berbagai platform dan aplikasi.
Sebelumnya, kami menyediakan panduan mendalam tentang cara melakukan pencarian ekspresi reguler menggunakan C#. Untuk melihat petunjuk langkah demi langkah yang lengkap, pastikan untuk membaca artikel terperinci kami tentang cara melakukan pencarian ekspresi reguler menggunakan C#.