A fordított képkeresés C#-ban lehetővé teszi a fejlesztők számára, hogy kulcsszavak vagy metaadatok helyett vizuális tartalom alapján hatékonyan találjanak hasonló képeket egy gyűjteményben. Ez a képesség különösen hasznos olyan alkalmazásokban, mint a képlekérdezés, a tartalomkezelő rendszerek és a digitális eszközkezelés. Az usnig GroupDocs.Search segítségével a C# fejlesztők fordított képkeresési funkciót valósíthatnak meg, hogy gyorsan azonosítsák az adott hivatkozásnak megfelelő képeket. Ebben a cikkben megvizsgáljuk, hogyan lehet fordított képkeresést végrehajtani C# használatával, és bemutatunk egy kódpéldát a kezdéshez. Ez a funkció különösen hasznos különféle képformátumok, például PNG, JPEG vagy ZIP archívumok kezelésekor, biztosítva a különböző platformok és fájltípusok közötti kompatibilitást.
A fordított képkeresés végrehajtásának lépései C# használatával
- Adja hozzá a GroupDocs.Search for .NET könyvtárat projektjéhez a fordított képkereséshez
- Hozzon létre egy Index objektumot a megadott indexmappa használatával
- Állítsa be a(z) IndexingOptions képet, hogy engedélyezze az indexelést a tárolóelemek képeihez, a beágyazott képekhez és a különálló képekhez
- Adjon hozzá dokumentumokat az indexmappához a megadott képindexelési beállításokkal
- Állítsa be a {{HIPERLINK1}} beállítást, beleértve a hash különbségeket, a maximális találatszámot és a keresési dokumentumszűrőt
- Hozzon létre egy referenciaképet a kereséshez a képfájl elérési útjának megadásával a SearchImage.Create metódussal
- Végezze el a képkeresést az indexben a referenciakép használatával, a keresési opciókat pedig a Index.Search használatával
- Lapozzon át a keresési eredmények között, és nyomtassa ki az egyes talált képek részleteit
E funkció végrehajtásához a folyamat egy index beállításával kezdődik, amely a képeket a metaadataikkal együtt tárolja. Az IndexingOptions osztály a különböző típusú képek indexelésének engedélyezésére szolgál, beleértve a tárolóelem-képeket, a beágyazott képeket és a különálló képeket. A képek indexelését követően a keresés végrehajtható a SearchImage osztály használatával, amely lehetővé teszi egy referenciakép megadását, hogy hasonló egyezéseket találjon az indexelt dokumentumokon belül. Az ImageSearchOptions további szabályozást biztosít a keresési folyamat felett, például a találatok maximális számát és a keresendő dokumentumok típusát. Ez a megközelítés lehetővé teszi a hatékony tartalom alapú képlekérést C# alkalmazásokban. Alább látható a C# kód a fordított képkereséshez.
Kód a fordított képkereséshez C# használatával
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()); | |
} | |
} | |
} | |
} |
A tartalom alapú képlekérdezés C# használatával a tartalom alapú képlekérdezés hatékony funkciója, amely lehetővé teszi az alkalmazások számára, hogy gyorsan és pontosan hasonló képeket találjanak különböző környezetekben, az asztali alkalmazásoktól a felhőalapú megoldásokig. A keresési könyvtár integrációja a képindexeléshez és -kereséshez biztosítja, hogy a megoldás platformfüggetlen legyen, kompatibilis a Windows, macOS és Linux rendszerekkel, és méretezhető legyen a nagy képadatkészletek kezelésére. E képességek kihasználásával a fejlesztők robusztus képkereső rendszereket hozhatnak létre, amelyek javítják a felhasználói élményt és egyszerűsítik a tartalomkezelési feladatokat a különböző platformokon és alkalmazásokban.
Korábban részletes útmutatót adtunk a reguláris kifejezések C# használatával történő kereséséhez. A részletes, lépésről lépésre szóló utasítások megtekintéséhez feltétlenül olvassa el a reguláris kifejezés keresés C# használatával végrehajtásáról szóló részletes cikkünket.