Utför omvänd bildsökning med C#

Genom att utföra omvänd bildsökning i C# kan utvecklare effektivt hitta liknande bilder inom en samling baserat på visuellt innehåll snarare än nyckelord eller metadata. Denna funktion är särskilt användbar i applikationer som bildhämtning, innehållshanteringssystem och digital tillgångshantering. Genom att använda GroupDocs.Search kan C#-utvecklare implementera omvänd bildsökningsfunktion för att snabbt identifiera bilder som matchar en given referens. I den här artikeln kommer vi att utforska hur man utför omvänd bildsökning med C# och ger ett kodexempel för att komma igång. Den här funktionen är särskilt användbar när du hanterar olika bildformat som PNG-, JPEG- eller ZIP-arkiv, vilket säkerställer kompatibilitet mellan olika plattformar och filtyper.

Steg för att utföra omvänd bildsökning med C#

  1. Lägg till GroupDocs.Search for .NET-biblioteket till ditt projekt för omvänd bildsökning
  2. Skapa ett Index-objekt med den angivna indexmappen
  3. Ställ in bild IndexingOptions för att aktivera indexering för behållarobjektbilder, inbäddade bilder och separata bilder
  4. Lägg till dokument i indexmappen med de angivna bildindexeringsalternativen
  5. Ställ in ImageSearchOptions inklusive hash-skillnader, maximalt antal resultat och ett sökdokumentfilter
  6. Skapa en referensbild för sökningen genom att ange sökvägen till bildfilen med metoden SearchImage.Create
  7. Utför bildsökningen i indexet med hjälp av referensbilden och sökalternativ med Index.Search
  8. Gå igenom sökresultaten och skriv ut detaljerna för varje hittad bild

För att utföra denna funktion börjar processen med att skapa ett index som lagrar bilder tillsammans med deras metadata. Klassen IndexingOptions används för att aktivera indexering för olika typer av bilder, inklusive bilder för behållarobjekt, inbäddade bilder och separata bilder. När bilderna är indexerade kan sökningen utföras med klassen SearchImage, som gör det möjligt att specificera en referensbild för att hitta liknande matchningar i de indexerade dokumenten. ImageSearchOptions ger ytterligare kontroll över sökprocessen, såsom maximalt antal resultat och vilka typer av dokument som ska sökas i. Detta tillvägagångssätt gör det möjligt att utföra effektiv innehållsbaserad bildhämtning i C#-applikationer. Nedan finns C#-koden för omvänd bildsökning.

Kod för att utföra omvänd bildsökning med 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());
}
}
}
}

Att utföra innehållsbaserad bildhämtning med C# är en kraftfull funktion för innehållsbaserad bildhämtning, vilket gör att applikationer snabbt och exakt kan hitta liknande bilder i olika miljöer, från stationära applikationer till molnbaserade lösningar. Integrationen av sökbiblioteket för bildindexering och sökning säkerställer att lösningen är plattformsoberoende, kompatibel med Windows, macOS och Linux och kan skalas för att hantera stora datamängder av bilder. Genom att utnyttja dessa funktioner kan utvecklare skapa robusta bildsökningssystem som förbättrar användarupplevelsen och effektiviserar innehållshanteringsuppgifter över olika plattformar och applikationer.

Tidigare har vi tillhandahållit en djupgående guide om hur du utför reguljära uttryckssökningar med C#. För att se de fullständiga steg-för-steg-instruktionerna, se till att läsa vår detaljerade artikel om hur du utför reguljära uttryckssökning med C#.

 Svenska