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#
- Adicione a biblioteca GroupDocs.Search for .NET ao seu projeto para pesquisa reversa de imagens
- Crie um objeto Index usando a pasta de índice especificada
- Defina a imagem IndexingOptions para habilitar a indexação de imagens de itens de contêiner, imagens incorporadas e imagens separadas
- Adicionar documentos à pasta de índice com as opções de indexação de imagem especificadas
- Defina ImageSearchOptions incluindo diferenças de hash, contagem máxima de resultados e um filtro de documento de pesquisa
- Crie uma imagem de referência para a pesquisa especificando o caminho para o arquivo de imagem usando o método SearchImage.Create
- Execute a pesquisa de imagens no índice usando a imagem de referência e as opções de pesquisa usando Index.Search
- 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#.