> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/ja/burokku/blocks/classical-computer-vision/dominant-color.md).

# 代表色

ピクセルの色に対してK-meansクラスタリングを用い、色分布を分析し、色クラスターを特定し、最も頻出する色クラスターのRGB値を返すことで、画像から最も優勢な支配色を抽出します。これは、色分析、テーマ抽出、色ベースのフィルタリング、視覚分析のワークフローに使用されます。

## このブロックの仕組み

このブロックは、K-meansクラスタリングを使用して画像内の色分布を分析し、支配的な（最も優勢な）色を特定して抽出します。このブロックは次の処理を行います:

1. 支配色を分析するための入力画像を受け取ります（RGB形式であると想定します）
2. 処理速度を最適化するために画像を縮小します:
   * 最小寸法とtarget\_sizeパラメータに基づいてスケール係数を計算します
   * 色の特性を保持したまま画像解像度を下げます
   * target\_sizeの値を小さくすると処理は速くなりますが、精度がわずかに低下する場合があります
3. 画像のピクセルを2次元配列に再形成し、各行が1ピクセルのRGB値を表すようにします
4. K-meansクラスタリングを初期化します:
   * 初期クラスタ中心としてランダムなピクセル色を選択します（クラスタ数 = color\_clusters）
   * 類似したピクセル色をまとめるための初期色クラスターを作成します
5. 反復的なK-meansクラスタリングを実行します（最大max\_iterations回まで）:
   * 各ピクセルを最も近い色クラスターに割り当てます（RGB色空間でのユークリッド距離に基づく）
   * 各クラスター内のピクセルの平均RGB値を計算して、クラスター中心を更新します
   * 空のクラスターをランダムなピクセル色で再初期化して処理します
   * 収束を確認し（中心が大きく変化しなくなった場合）、収束していれば早期終了します
6. 各色クラスター内のピクセル数を数えて、どのクラスターに最も多くのピクセルが含まれるかを判定します
7. 最もピクセル数の多いクラスターを支配色クラスターとして選択します
8. 支配色クラスターの中心からRGB値を抽出します
9. RGB値を有効な0〜255の整数範囲に変換し、クリップします
10. 支配色をRGBタプル（R、G、B値）として返します

このブロックはK-meansクラスタリングを使用して類似したピクセル色をまとめ、その中で最も大きい色 समूहを支配色として特定します。処理時間は、画像サイズ、色の複雑さ、およびパラメータ設定（color\_clusters、max\_iterations、target\_size）に依存します。既定設定では、ほとんどの画像は0.5秒未満で完了します。縮小のステップは速度と精度のバランスを取ります。解像度を下げることでクラスタリングは高速化されますが、全体的な色分布は依然として把握できます。

## 一般的な使用例

* **カラーテーマの抽出**: 画像から主要な色を抽出してカラーテーマやパレットを特定します（例: 製品画像から主要色を抽出する、写真内のカラーテーマを特定する、画像内のカラーパレットを分析する）。これにより、カラーテーマ分析ワークフローを実現します
* **画像の色分析**: 画像を分析して主な色特性を判定します（例: 画像内の支配色を特定する、色分布を分析する、画像から色のシグネチャを抽出する）。これにより、色ベースの画像分析を実現します
* **色ベースのフィルタリング**: 支配色を使って画像をフィルタリングまたは分類します（例: 支配色で画像を絞り込む、色テーマで画像を分類する、色特性で画像をグループ化する）。これにより、色ベースの分類ワークフローを実現します
* **視覚分析とレポート作成**: 視覚分析やレポート作成のために色情報を抽出します（例: 画像用のカラーレポートを生成する、画像コレクションの色傾向を分析する、画像データベース用の色メタデータを抽出する）。これにより、色レポート作成ワークフローを実現します
* **デザインおよびブランディング分析**: デザインやブランディング目的で画像を分析します（例: 画像からブランドカラーを抽出する、デザインの配色を分析する、ブランドコンテンツにおける色の使用状況を特定する）。これにより、デザイン分析ワークフローを実現します
* **品質管理**: 支配色分析を品質管理や検査に使用します（例: 製品の期待される色を確認する、色の異常を検出する、色特性を検証する）。これにより、色ベースの品質管理ワークフローを実現します

## 他のブロックへの接続

このブロックは画像を受け取り、支配的なRGB色を生成します:

* **画像入力ブロックの後に** 入力画像から支配色を抽出するために（例: カメラフィード内の色を分析する、画像入力から色を抽出する、画像の色特性を分析する）、色分析ワークフローを実現します
* **切り抜きブロックの後に** 特定の画像領域の支配色を分析するために（例: 切り抜いた領域から支配色を抽出する、特定のエリアの色を分析する、選択した領域の色を特定する）、領域ベースの色分析ワークフローを実現します
* **フィルタリングまたはロジックブロックの前に** 色情報を意思決定に使用するために（例: 支配色に基づいてフィルタリングする、色特性に基づいて判断する、色分析に基づいてロジックを適用する）、色ベースの条件分岐ワークフローを実現します
* **可視化ブロックの前** 可視化に支配色を使用するために（例: 抽出した色を注釈に使用する、可視化に支配色を適用する、抽出した色で可視化をカスタマイズする）、色を強化した可視化ワークフローを実現します
* **色分析パイプラインにおいて** 支配色抽出がより大きな分析ワークフローの一部である場合（例: マルチステージのワークフローで色を分析する、包括的な分析のために色を抽出する、パイプラインで色情報を処理する）、色分析パイプラインワークフローを実現します
* **データ保存ブロックの前** 画像とともに色情報を保存するために（例: 画像メタデータとともに支配色を保存する、色分析結果を保存する、色特性を記録する）、色メタデータ保存ワークフローを実現します

### 型識別子

ステップで次の識別子を使用してください `"type"` フィールド： `roboflow_core/dominant_color@v1` ワークフローにこのブロックをステップとして追加するには。

### プロパティ

| **名前**           | **型** | **説明**                                                                                                                                                                                                                                                                                                     | 参照 |
| ---------------- | ----- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `name`           | `str` | このステップの一意の識別子を入力してください。                                                                                                                                                                                                                                                                                    | ❌  |
| `color_clusters` | `整数`  | K-meansクラスタリングで使用する色クラスター数（K）。1〜10の範囲でなければなりません。アルゴリズムはピクセル色をこの数のクラスターにまとめ、最も大きいクラスターを支配色として選択します。高い値（例: 6〜8）は、色分布が複雑な画像で精度を向上させることがありますが、処理時間は長くなります。低い値（例: 2〜3）は高速ですが、マルチカラー画像では精度が低下する場合があります。既定値は4で、バランスの良い設定です。配色が単純な画像には少ないクラスターを、色が多様な画像には多いクラスターを使用してください。。                                        | ✅  |
| `max_iterations` | `整数`  | K-meansクラスタリングの最大反復回数。1〜500の範囲でなければなりません。アルゴリズムは色クラスターを反復的に洗練し、収束に達した場合（中心が変化しなくなった場合）は早期終了します。高い値ではより細かい調整が可能になり、精度が向上することがありますが、処理時間は長くなります。低い値は高速ですが、色クラスターの洗練度が低くなる場合があります。既定値は100で、通常は収束に十分です。ほとんどの画像は最大値に達する前にうまく収束します。より正確なクラスタリングが必要な場合は増やし、速度が重要な場合は減らしてください。。                                    | ✅  |
| `target_size`    | `整数`  | クラスタリングに使用する縮小後画像の最小寸法の目標サイズ（ピクセル）。1〜250の範囲でなければなりません。処理を高速化するため、画像はクラスタリング前に縮小されます。最小寸法は、アスペクト比を維持しながら、おおよそこのサイズにリサイズされます。低い値（例: 50〜75）は処理を大幅に高速化しますが、細かな色のディテールを持つ画像では精度がわずかに低下する場合があります。高い値（例: 150〜200）はより多くのディテールを保持しますが、遅くなります。既定値は100ピクセルで、バランスの良い設定です。速度重視のアプリケーションでは低い値を、最大精度が必要な場合は高い値を使用してください。。 | ✅  |

この **参照** 列は、で利用可能な動的値を使ってプロパティをパラメータ化できる可能性を示します `ワークフロー` 実行時。参照 *バインディング* 詳細は。

### 入力と出力のバインディング

利用可能な接続は、そのバインディング種別によって異なります。どのバインディング種別が `支配色` のバージョン `v1` あるか確認してください。

<details>

<summary>入力と出力のバインディング</summary>

* 入力
  * `image` ([*`image`*](/workflows/ja/gaido/developer-guide/kinds/image.md)）: 支配色抽出のために分析する入力画像。画像はRGB形式であると想定されます。ブロックは画像内のすべてのピクセルを分析して、最も優勢な色を判定します。処理時間は画像サイズと複雑さに依存します。画像は、色特性を保ちながら速度を最適化するため、処理中に自動的に縮小されます。。
  * `color_clusters` ([*`整数`*](/workflows/ja/gaido/developer-guide/kinds/integer.md)）: K-meansクラスタリングで使用する色クラスター数（K）。1〜10の範囲でなければなりません。アルゴリズムはピクセル色をこの数のクラスターにまとめ、最も大きいクラスターを支配色として選択します。高い値（例: 6〜8）は、色分布が複雑な画像で精度を向上させることがありますが、処理時間は長くなります。低い値（例: 2〜3）は高速ですが、マルチカラー画像では精度が低下する場合があります。既定値は4で、バランスの良い設定です。配色が単純な画像には少ないクラスターを、色が多様な画像には多いクラスターを使用してください。。
  * `max_iterations` ([*`整数`*](/workflows/ja/gaido/developer-guide/kinds/integer.md)）: 実行するK-meansクラスタリングの最大反復回数。1〜500の範囲でなければなりません。アルゴリズムは色クラスターを反復的に洗練し、収束に達した場合（中心が変化しなくなった場合）は早期終了します。高い値ではより細かい調整が可能になり、精度が向上することがありますが、処理時間は長くなります。低い値は高速ですが、色クラスターの洗練度が低くなる場合があります。既定値は100で、通常は収束に十分です。ほとんどの画像は最大値に達する前にうまく収束します。より正確なクラスタリングが必要な場合は増やし、速度が重要な場合は減らしてください。。
  * `target_size` ([*`整数`*](/workflows/ja/gaido/developer-guide/kinds/integer.md)）: クラスタリングに使用する縮小後画像の最小寸法の目標サイズ（ピクセル）。1〜250の範囲でなければなりません。処理を高速化するため、画像はクラスタリング前に縮小されます。最小寸法は、アスペクト比を維持しながら、おおよそこのサイズにリサイズされます。低い値（例: 50〜75）は処理を大幅に高速化しますが、細かな色のディテールを持つ画像では精度がわずかに低下する場合があります。高い値（例: 150〜200）はより多くのディテールを保持しますが、遅くなります。既定値は100ピクセルで、バランスの良い設定です。速度重視のアプリケーションでは低い値を、最大精度が必要な場合は高い値を使用してください。。
* 出力
  * `rgb_color` ([`rgb_color`](/workflows/ja/gaido/developer-guide/kinds/rgb-color.md)）: RGB色。

</details>

<details>

<summary>JSON 定義の例</summary>

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/dominant_color@v1",
	    "image": "$inputs.image",
	    "color_clusters": 4,
	    "max_iterations": 100,
	    "target_size": 100
	}
```

</details>
