C# を使用して逆画像検索を実行する

C# で逆画像検索 を実行すると、開発者はキーワードやメタデータではなく視覚コンテンツに基づいてコレクション内の類似画像を効率的に見つけることができます。この機能は、画像検索、コンテンツ管理システム、デジタル資産管理などのアプリケーションで特に役立ちます。GroupDocs.Search を使用すると、C# 開発者は逆画像検索機能を実装して、特定の参照に一致する画像をすばやく識別できます。この記事では、C# を使用して逆画像検索を実行する 方法を説明し、開始するためのコード例を示します。この機能は、PNG、JPEG、ZIP アーカイブなどのさまざまな画像形式を扱う場合に特に役立ち、さまざまなプラットフォームやファイル タイプ間での互換性を確保します。

C# を使用して逆画像検索を実行する手順

  1. 逆画像検索のために、GroupDocs.Search for .NETライブラリをプロジェクトに追加します
  2. 指定されたインデックス フォルダを使用して Index オブジェクトを作成します
  3. コンテナアイテム画像、埋め込み画像、個別の画像のインデックスを有効にするには、画像 IndexingOptions を設定します。
  4. 指定された画像インデックスオプションを使用してドキュメントをインデックスフォルダに追加します
  5. ハッシュの差異、最大結果数、検索ドキュメント フィルターを含む ImageSearchOptions を設定します
  6. SearchImage.Create メソッドを使用して画像ファイルへのパスを指定して、検索用の参照画像を作成します。
  7. Index.Search を使用して参照画像と検索オプションを使用してインデックス内の画像検索を実行します。
  8. 検索結果をループし、見つかった各画像の詳細を印刷します

この機能を実行するには、まず、画像とそのメタデータを保存するインデックスを設定します。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# を使用した正規表現検索 の実行方法に関する詳細な記事を必ずお読みください。

 日本語