Executar pesquisa reversa de imagens usando C#

A execução de pesquisa reversa de imagens em C# permite que os desenvolvedores encontrem eficientemente imagens semelhantes em uma coleção com base no conteúdo visual em vez de palavras-chave ou metadados. Esse recurso é especialmente útil em aplicativos como recuperação de imagens, sistemas de gerenciamento de conteúdo e gerenciamento de ativos digitais. Ao usar o GroupDocs.Search, os desenvolvedores de C# podem implementar a funcionalidade de pesquisa reversa de imagens para identificar rapidamente imagens que correspondem a uma determinada referência. Neste artigo, exploraremos como executar pesquisa reversa de imagens usando C# e forneceremos um exemplo de código para você começar. Esse recurso é particularmente útil ao lidar com diversos formatos de imagem, como PNG, JPEG ou arquivos ZIP, garantindo compatibilidade entre diferentes plataformas e tipos de arquivo.

Etapas para executar pesquisa reversa de imagens usando C#

  1. Adicione a biblioteca GroupDocs.Search for .NET ao seu projeto para pesquisa reversa de imagens
  2. Crie um objeto Index usando a pasta de índice especificada
  3. Defina a imagem IndexingOptions para habilitar a indexação de imagens de itens de contêiner, imagens incorporadas e imagens separadas
  4. Adicionar documentos à pasta de índice com as opções de indexação de imagem especificadas
  5. Defina ImageSearchOptions incluindo diferenças de hash, contagem máxima de resultados e um filtro de documento de pesquisa
  6. Crie uma imagem de referência para a pesquisa especificando o caminho para o arquivo de imagem usando o método SearchImage.Create
  7. Execute a pesquisa de imagens no índice usando a imagem de referência e as opções de pesquisa usando Index.Search
  8. Percorra os resultados da pesquisa e imprima os detalhes de cada imagem encontrada

Para executar essa funcionalidade, o processo começa com a configuração de um índice que armazena imagens junto com seus metadados. A classe IndexingOptions é usada para habilitar a indexação para diferentes tipos de imagens, incluindo imagens de itens de contêiner, imagens incorporadas e imagens separadas. Depois que as imagens são indexadas, a pesquisa pode ser realizada usando a classe SearchImage, que permite especificar uma imagem de referência para encontrar correspondências semelhantes dentro dos documentos indexados. As ImageSearchOptions fornecem controle adicional sobre o processo de pesquisa, como o número máximo de resultados e os tipos de documentos a serem pesquisados. Essa abordagem torna possível executar recuperação de imagem baseada em conteúdo eficiente em aplicativos C#. Abaixo está o código C# para pesquisa reversa de imagens.

Código para executar pesquisa reversa de imagens usando 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());
}
}
}
}

Executar recuperação de imagem baseada em conteúdo usando C# é um recurso poderoso para recuperação de imagem baseada em conteúdo, permitindo que aplicativos encontrem imagens semelhantes de forma rápida e precisa em vários ambientes, de aplicativos de desktop a soluções baseadas em nuvem. A integração da biblioteca Search para indexação e pesquisa de imagens garante que a solução seja independente de plataforma, compatível com Windows, macOS e Linux, e possa ser dimensionada para lidar com grandes conjuntos de dados de imagens. Ao aproveitar esses recursos, os desenvolvedores podem criar sistemas robustos de pesquisa de imagens que aprimoram a experiência do usuário e simplificam as tarefas de gerenciamento de conteúdo em diferentes plataformas e aplicativos.

Anteriormente, fornecemos um guia detalhado sobre como executar pesquisa de expressão regular usando C#. Para ver as instruções passo a passo completas, certifique-se de ler nosso artigo detalhado sobre como executar pesquisa de expressão regular usando C#.

 Português