> 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/contrast-equalization.md).

# コントラスト均等化

設定可能な平坦化手法（コントラストストレッチング、ヒストグラム平坦化、または適応平坦化）を使用して画像コントラストを強調し、画像の見やすさを向上させ、画素強度をより均一に分布させ、前処理、強調、品質改善のワークフローにおいて、コントラストの低い画像や照明不足の画像の詳細を強調します。

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

このブロックは、3つの平坦化手法のいずれかを使用して画素強度を再分配し、画像コントラストを強調します。このブロックは：

1. コントラスト平坦化で強調する入力画像を受け取ります
2. equalization\_type パラメータに基づいてコントラスト平坦化手法を選択します
3. 選択した平坦化手法を適用します：

   **コントラストストレッチングの場合：**

   * 画像内の画素強度の2パーセンタイル値と98パーセンタイル値を計算します（極端な外れ値を除外し、最も暗く最も明るい意味のある値を見つけます）
   * これらのパーセンタイル間の強度範囲を0〜255の全範囲に引き伸ばします
   * 相対的な強度関係を保ちながらダイナミックレンジを拡張してコントラストを強調します
   * 狭い強度範囲を全範囲まで引き伸ばしたい画像に有用です

   **ヒストグラム平坦化の場合：**

   * 処理のために画素強度を0〜1範囲に正規化します
   * 画像ヒストグラムを計算して平坦化し、画素強度の均一分布を作成します
   * 各強度レベルの出現頻度がほぼ同じになるように画素値を再分配します
   * 平坦化後の値を0〜255範囲にスケーリングし直します
   * 画像全体にわたって全体的なコントラストを強調し、特徴の視認性を向上させます

   **適応平坦化の場合：**

   * 処理のために画素強度を0〜1範囲に正規化します
   * 適応ヒストグラム平坦化（CLAHE - コントラスト制限付き適応ヒストグラム平坦化）を適用します
   * 画像を小さな領域に分割し、それぞれの領域を独立して平坦化します
   * clip\_limit=0.03 を使用してコントラスト強調を制限し、ノイズの過度な増幅を防ぎます
   * バイリニア補間を用いて局所的に平坦化された領域を結合し、滑らかな遷移を実現します
   * 結果を0〜255範囲にスケーリングし直します
   * 局所的な詳細を保ちながら全体の視認性を向上させる、適応的なコントラスト強調を行います
4. 元の画像のメタデータを保持します
5. コントラストが改善された強調後の画像を返します

このブロックは特性の異なる3つの手法を提供します。コントラストストレッチングは強度範囲を線形に拡張し、ヒストグラム平坦化は画像全体で強度分布を均一にし、適応平坦化は過度な増幅を防ぎながら局所的にコントラストを強調します。各手法は異なる場面で最適に機能します。強度範囲が狭い画像にはコントラストストレッチング、全体的なコントラスト改善にはヒストグラム平坦化、領域ごとにコントラストが異なる画像には適応平坦化が適しています。

## 一般的な使用例

* **モデル向け画像前処理**: 検出モデルや分類モデルに入力する前に画像コントラストを強調する（例：物体検出の前にコントラストを向上させる、分類の前に視認性を高める、モデル処理用に画像を準備する）ことで、モデル性能の向上ワークフローを実現します
* **低コントラスト画像の強調**: コントラストの低い画像や照明不足の画像の見やすさと詳細を改善する（例：暗い画像を強調する、低照度条件での視認性を向上させる、低コントラストのシーンの詳細を引き出す）ことで、画像強調ワークフローを実現します
* **詳細の強調**: コントラストの悪い画像に隠れた詳細を明らかにする（例：影の領域の詳細を強調する、暗い領域の特徴を明らかにする、微妙な詳細の視認性を改善する）ことで、詳細強調ワークフローを実現します
* **画像品質の向上**: 画像全体の品質と視認性を向上させる（例：画像全体の品質を高める、分析のための視認性を改善する、表示用に画像を最適化する）ことで、画像品質ワークフローを実現します
* **医療・科学画像**: 医療画像や科学画像のコントラストを強調して、より良い解析を可能にする（例：医用画像のコントラストを強調する、科学画像の視認性を向上させる、解析用に画像を準備する）ことで、科学画像ワークフローを実現します
* **文書画像の強調**: スキャン文書や文書画像のコントラストを改善する（例：文書のコントラストを強調する、テキストの視認性を向上させる、スキャン文書を最適化する）ことで、文書強調ワークフローを実現します

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

このブロックは画像を受け取り、コントラストが改善された強調画像を生成します：

* **画像入力ブロックの後に** さらに処理する前に入力画像を強調するために（例：カメラフィードのコントラストを強調する、画像入力の視認性を向上させる、ワークフロー処理用に画像を最適化する）ことで、画像強調ワークフローを実現します
* **検出または分類モデルの前に** より良いコントラストでモデル性能を向上させるために（例：物体検出の前に画像を強調する、分類モデルの視認性を改善する、モデル解析用に画像を準備する）ことで、強化されたモデル入力ワークフローを実現します
* **前処理ブロックの後に** 他の前処理の後にコントラスト強調を適用するために（例：フィルタリング後にコントラストを強調する、変換後に視認性を改善する、前処理後に画像を最適化する）ことで、複数段階の強調ワークフローを実現します
* **可視化ブロックの前** より見やすくなった強調画像を表示するために（例：強調画像を可視化する、改善されたコントラスト結果を表示する、強調効果を示す）ことで、強調可視化ワークフローを実現します
* **分析ブロックの前** 改善されたコントラストの恩恵を受ける（例：強調画像を解析する、視認性が改善された画像を処理する、最適化されたコントラストで作業する）ことで、強化された解析ワークフローを実現します
* **画像品質改善パイプラインにおいて** コントラスト強調がより大きな強調ワークフローの一部となる場合（例：複数段階のパイプラインで画像を強調する、強調ステップを通じて品質を改善する、処理チェーン内の画像を最適化する）に、画像品質パイプラインワークフローを実現します

### 型識別子

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

### プロパティ

| **名前**              | **型** | **説明**                                                                                                                                                                                                                                                                                                                                          | 参照 |
| ------------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `name`              | `str` | このステップの一意の識別子を入力してください。                                                                                                                                                                                                                                                                                                                         | ❌  |
| `equalization_type` | `str` | 適用するコントラスト平坦化手法の種類: 'コントラストストレッチング' は 2 パーセンタイルと 98 パーセンタイルの間の強度範囲を 0〜255 の全範囲に引き伸ばします（線形拡張。強度範囲の狭い画像に適しています）。'ヒストグラム平坦化'（既定）は画像全体で均一な強度分布を作成します（画像全体のヒストグラムを均一化し、全体的なコントラスト改善に適しています）。'適応平坦化' は、過度な増幅を抑えながら小さな領域で局所的にコントラストを強調します（clip\_limit=0.03 の CLAHE。コントラストが変化する画像に適しています）。既定は 'ヒストグラム平坦化' で、汎用的なコントラスト強調を提供します。画像の特性と強調ニーズに応じて選択してください。 | ✅  |

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

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

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

<details>

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

* 入力
  * `image` ([*`image`*](/workflows/ja/gaido/developer-guide/kinds/image.md)): コントラスト平坦化で強調する入力画像。ブロックは equalization\_type パラメータに基づいて 3 つのコントラスト平坦化手法のいずれかを適用します。カラー画像またはグレースケール画像に対応しています。強調後の画像は、コントラストの改善、視認性の向上、詳細の強調が得られます。元の画像のメタデータは出力に保持されます。
  * `equalization_type` ([*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)): 適用するコントラスト平坦化手法の種類: 'コントラストストレッチング' は 2 パーセンタイルと 98 パーセンタイルの間の強度範囲を 0〜255 の全範囲に引き伸ばします（線形拡張。強度範囲の狭い画像に適しています）。'ヒストグラム平坦化'（既定）は画像全体で均一な強度分布を作成します（画像全体のヒストグラムを均一化し、全体的なコントラスト改善に適しています）。'適応平坦化' は、過度な増幅を抑えながら小さな領域で局所的にコントラストを強調します（clip\_limit=0.03 の CLAHE。コントラストが変化する画像に適しています）。既定は 'ヒストグラム平坦化' で、汎用的なコントラスト強調を提供します。画像の特性と強調ニーズに応じて選択してください。
* 出力
  * `image` ([`image`](/workflows/ja/gaido/developer-guide/kinds/image.md)): ワークフロー内の画像。

</details>

<details>

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

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/contrast_equalization@v1",
	    "image": "$inputs.image",
	    "equalization_type": "ヒストグラム平坦化"
	}
```

</details>
