C# պատկերների հակառակ որոնումը թույլ է տալիս ծրագրավորողներին արդյունավետորեն գտնել նմանատիպ պատկերներ հավաքածուի մեջ՝ հիմնվելով տեսողական բովանդակության վրա, այլ ոչ թե հիմնաբառերի կամ մետատվյալների վրա: Այս հնարավորությունը հատկապես օգտակար է այնպիսի ծրագրերում, ինչպիսիք են պատկերների որոնումը, բովանդակության կառավարման համակարգերը և թվային ակտիվների կառավարումը: Օգտագործելով GroupDocs.Search-ը, C# մշակողները կարող են իրականացնել հակադարձ պատկերների որոնման գործառույթ՝ արագ բացահայտելու պատկերները, որոնք համապատասխանում են տվյալ հղումին: Այս հոդվածում մենք կուսումնասիրենք, թե ինչպես կատարել հակադարձ պատկերների որոնում՝ օգտագործելով C# և տրամադրել կոդի օրինակ՝ սկսելու համար: Այս հատկությունը հատկապես օգտակար է, երբ գործ ունենք տարբեր պատկերների ձևաչափերի հետ, ինչպիսիք են PNG, JPEG կամ ZIP արխիվները՝ ապահովելով համատեղելիությունը տարբեր հարթակների և ֆայլերի տեսակների միջև:
C#-ի միջոցով պատկերների հակադարձ որոնում կատարելու քայլեր
- Ավելացրեք GroupDocs.Search for .NET գրադարանը ձեր նախագծին հակառակ պատկերների որոնման համար
- Ստեղծեք Index օբյեկտ՝ օգտագործելով նշված ինդեքսի թղթապանակը
- Սահմանեք պատկերը IndexingOptions՝ հնարավորություն տալու ինդեքսավորումը բեռնարկղային տարրերի պատկերների, ներկառուցված պատկերների և առանձին պատկերների համար
- Փաստաթղթեր ավելացրեք ինդեքսի թղթապանակում՝ նշված պատկերների ինդեքսավորման ընտրանքներով
- Սահմանեք ImageSearchOptions՝ ներառյալ հեշի տարբերությունները, արդյունքների առավելագույն քանակը և որոնման փաստաթղթերի զտիչը
- Ստեղծեք հղման պատկեր որոնման համար՝ նշելով դեպի պատկերի ֆայլի ուղին SearchImage.Create մեթոդի միջոցով
- Կատարեք պատկերի որոնում ինդեքսում՝ օգտագործելով հղման պատկերը և որոնման ընտրանքները՝ օգտագործելով Index.Search
- Գտեք որոնման արդյունքները և տպեք յուրաքանչյուր հայտնաբերված պատկերի մանրամասները
Այս գործառույթն իրականացնելու համար գործընթացը սկսվում է ինդեքս ստեղծելով, որը պահում է պատկերները՝ դրանց մետատվյալների հետ միասին: 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#: