2 つの画像を比較して違いを強調表示する Python

2 つの美しい風景写真を並べて表示する写真アプリに遭遇したと想像してください。よく観察すると、2 つの画像の間に微妙な、または顕著な違いがあることに気づきます。これらの変化には、照明、気象条件、視点の変更、さらには写真内の特定の要素の有無が含まれる場合があります。あなたの仕事は、これらの違いを正確に指摘して強調することです。プログラミングを通じてこのような画像比較機能を作成したい場合は、適切なリソースが見つかります。この記事では、Python を使用して 2 つの画像を比較し、違いを強調表示する方法に関する知識を身につけます。おまけに、無料の画像比較ツールをボーナスとして公開します。

このブログ投稿では次の点について説明します。

前提条件:

始める前に、次の前提条件が準備されていることを確認してください。

  1. Python がマシンにインストールされている (バージョン 3.x を推奨)。
  2. GroupDocs.Comparison Cloud SDK for Python がインストールされています。インストール手順は、公式 GroupDocs.Comparison Cloud ドキュメントにも記載されています。

Python Image Comparer SDK を構成する

まず、コマンドライン インターフェイスで次のコマンドを実行し、pip (Python パッケージ インストーラー) 経由で GroupDocs.Comparison Cloud を Python プロジェクトに含めます。

pip install groupdocs_comparison_cloud

APIクライアントを起動する

次に、ダッシュボード から クライアント IDクライアント シークレット にアクセスし、以下に示すように提供されたコードを統合します。

import groupdocs_comparison_cloud
# Get app_sid & app_key from https://dashboard.groupdocs.cloud after free registration.
app_sid = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
app_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Get File API configurations.
configuration = groupdocs_comparison_cloud.Configuration(app_sid, app_key)
configuration.api_base_url = "https://api.groupdocs.cloud"
storage_name = "LocalStorage"

画像ファイルをアップロードする

まず、提供されているコード例を利用して、画像をクラウドにアップロードします。

# Create an instance of the file API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
# Call upload file request
request = groupdocs_comparison_cloud.UploadFileRequest("images\source.jpg", "H:\\groupdocs-cloud-data\\source.jpg", storage_name)
# Upload file to the cloud
response = file_api.upload_file(request)
print(response.uploaded)
view raw upload-file.py hosted with ❤ by GitHub

その結果、アップロードした画像はクラウド ダッシュボードの ファイル セクション からアクセスできるようになります。

Python を使用して 2 つの画像を比較し、相違点を強調表示する

2 つの画像を比較して違いを強調するには、以下の手順に従ってください。

  1. 資格情報を使用して CompareApi インスタンスを作成します。
  2. ソース イメージとターゲット イメージの FileInfo インスタンスを作成し、file_path を設定します。
  3. ComparisonOptions をソースおよびターゲットの FileInfo オブジェクトで構成し、output_path を設定します。
  4. ComparisonsRequest のインスタンスを作成し、api_instance.comparisons(request) を呼び出して比較を実行し、結果を応答変数に保存します。

以下のコードは、Python で比較 REST API を使用して 2 つの画像を比較し、相違点を強調表示する方法を示しています。

import groupdocs_comparison_cloud
client_id = "XXXX-XXXX-XXXX-XXXX" # Get ClientId and ClientSecret from https://dashboard.groupdocs.cloud
client_secret = "XXXXXXXXXXXXXXXX" # Get ClientId and ClientSecret from https://dashboard.groupdocs.cloud
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source_files/images/source.jpg"
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target_files/images/target.jpg"
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "output/result.jpg"
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
response = api_instance.comparisons(request)

次の画像は、ソース イメージとターゲット イメージを並べて示しています。

2つの画像を比較する
コードを実行すると、結果のイメージは次のようになります。
2 つの画像間の違いを見つける

結果のイメージをダウンロード

前のステップのコードにより、結果の画像がクラウドに保存されます。これにアクセスしてダウンロードするには、次のコード スニペットを使用できます。

# Create instance of the API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
request = groupdocs_comparison_cloud.DownloadFileRequest("output/result.jpg", my_storage)
response = file_api.download_file(request)
# Move downloaded file to your working directory
shutil.move(response, "C:\\Files\\")

結論

このブログ記事では、GroupDocs.Comparison Cloud SDK for Python を使用して画像を効率的に比較し、差異を特定するための詳細な連続チュートリアルを提供しました。これらのガイドラインに従うことで、画像比較機能を Python アプリケーションに簡単に統合できます。

さらに、GroupDocs.Comparison Cloud API の詳細については、広範な ドキュメント を参照してください。 API リファレンス セクションも提供されており、Web ブラウザーで API を直接操作して視覚化できるようになります。 GitHub で Python SDK の完全なソース コードにオープンにアクセスできます。

最後に、REST API を使用したさまざまなファイル形式と解析手法を詳しく解説する新しいブログ記事を定期的にリリースしています。最新のアップデートについては、お気軽にお問い合わせください。コーディングの旅をお楽しみください!

無料のオンライン画像比較ツール

オンラインで 2 つの画像を比較するには、オンライン画像比較アプリケーションを試すことができます。このアプリケーションは、前述の比較 REST API を利用して開発されました。

質問する

画像比較機能に関してご質問やご不明な点がございましたら、フォーラム を通じてお気軽にお問い合わせください。私たちはあなたをお手伝いします。

関連項目

以下に、役に立つと思われる関連記事をいくつか紹介します。