Виконання зворотного пошуку зображень за допомогою 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#.

 Українська