Vision API クライアントを使用して画像内の主要な色を取得するには、Google Vision API が提供する画像プロパティ検出機能を利用できます。この強力なツールを使用すると、存在する主要な色の識別など、画像の視覚的な内容を分析して理解することができます。
最初のステップは、Vision API クライアントをセットアップし、リクエストを認証することです。それが完了したら、分析のために画像を API に送信できます。 API は、JPEG、PNG、GIF などのさまざまな画像形式をサポートしています。
主要な色を取得するには、API の `imagePropertiesAnnotation` 機能を利用する必要があります。この機能は、主要な色を含む、画像内に存在する色に関する情報を提供します。主要な色は RGB 値で表され、画像内での普及率に基づいてランク付けされます。
API にリクエストを行うときは、`features` パラメーターを `IMAGE_PROPERTIES` として指定する必要があります。これは、主要な色を含む画像プロパティを抽出する必要があることを API に伝えます。以下は、Python を使用して API 呼び出しを行う方法の例です。
python import base64 from google.cloud import vision def get_dominant_colors(image_path): client = vision.ImageAnnotatorClient() with open(image_path, 'rb') as image_file: content = image_file.read() image = vision.Image(content=content) features = [vision.Feature(type_=vision.Feature.Type.IMAGE_PROPERTIES)] response = client.annotate_image({ 'image': image, 'features': features }) colors = response.image_properties_annotation.dominant_colors.colors dominant_colors = [] for color_info in colors: color = color_info.color rgb = (color.red, color.green, color.blue) dominant_colors.append(rgb) return dominant_colors
上の例では、まず必要なライブラリをインポートし、Vision API クライアントを認証します。次に、画像ファイルを読み取り、画像コンテンツを含む Vision API `Image` オブジェクトを作成します。次に、`IMAGE_PROPERTIES` 機能を指定し、`annotate_image` メソッドを使用して API 呼び出しを行います。
API 応答には、「image_properties_annotation」フィールドの主要な色が含まれています。色を反復処理して、RGB 値を抽出します。最後に、支配的な色のリストを返します。
API によって返される主要な色は、画像内の色の全体的な広がりに基づいていることに注意することが重要です。これは、返された色が必ずしも画像内で視覚的に最も目立つ要素を表しているとは限らないことを意味します。ただし、これらは主なカラー パレットを示す良い指標となります。
Vision API クライアントを使用して画像内の主要な色を取得するには、`imagePropertiesAnnotation` 機能を利用する必要があります。適切なパラメーターを指定して API 呼び出しを行うことにより、ドミナント カラーを RGB 値として取得できます。この機能は、画像の分類、コンテンツ分析、ビジュアル検索などのさまざまなアプリケーションで役立ちます。
その他の最近の質問と回答 EITC/AI/GVAPI Google Vision API:
- Google Vision API のオブジェクト認識用に事前定義されたカテゴリにはどのようなものがありますか?
- Google Vision API は顔認識を有効にしますか?
- 「draw_vertices」関数を使用してオブジェクトの境界線を描画するときに、表示テキストを画像に追加するにはどうすればよいですか?
- 提供されたコードの「draw.line」メソッドのパラメーターは何ですか?また、それらは頂点値の間に線を描画するためにどのように使用されますか?
- Python でオブジェクトの境界線を描画するために枕ライブラリをどのように使用できますか?
- 提供されたコードの「draw_vertices」関数の目的は何ですか?
- Google Vision API は、画像内の形状やオブジェクトを理解するのにどのように役立ちますか?
- ユーザーは API によって推奨される視覚的に類似した画像をどのように探索できますか?
- Google Vision API の Web 検出機能の応答オブジェクトで提供されるさまざまな要素は何ですか?
- Web 検出機能は、アップロードされた画像のタグの生成をどのように支援しますか?
EITC/AI/GVAPI Google Vision API でその他の質問と回答を表示する
その他の質問と回答:
- フィールド: Artificial Intelligence
- プログラム: EITC/AI/GVAPI Google Vision API (認定プログラムに進む)
- レッスン: 画像を理解する (関連するレッスンに行く)
- トピック: 画像特性の検出 (関連トピックに移動)
- 試験の復習