> 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/transformations/relative-static-crop.md).

# 相対静的クロップ

中心点と寸法で指定した相対座標（画像サイズに比例する正規化済み 0.0〜1.0 の値）を用いて、入力画像から固定の長方形領域を抽出します。これにより、サイズの異なる画像間でも同じ相対位置から一貫した比例クロップを作成でき、ROI 抽出やサイズ非依存の固定領域解析ワークフローに適しています。

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

このブロックは、絶対座標を使う静的クロップとは異なり、相対座標（正規化済み 0.0〜1.0 の値）を使用して入力画像から固定の長方形領域をクロップします。相対座標は画像サイズの違いに適応するため、異なる寸法の画像から同じ比例領域を抽出するのに最適です。このブロックは、

1. 入力画像と、0.0〜1.0 の範囲の値として相対座標指定（x\_center、y\_center、width、height）を受け取ります
2. 画像の寸法を掛けて、相対座標を絶対ピクセル座標に変換します：
   * x\_center を相対値（0.0〜1.0）から絶対ピクセルへ変換します： `x_center_pixels = image_width * x_center`
   * y\_center を相対値（0.0〜1.0）から絶対ピクセルへ変換します： `y_center_pixels = image_height * y_center`
   * width を相対値（0.0〜1.0）から絶対ピクセルへ変換します： `width_pixels = image_width * width`
   * height を相対値（0.0〜1.0）から絶対ピクセルへ変換します： `height_pixels = image_height * height`
3. 変換後の中心点と寸法からクロップ境界を計算します：
   * 中心座標から幅/高さの半分を引いて x\_min と y\_min を求めます
   * 最小座標に幅/高さを加えて x\_max と y\_max を求めます
   * 座標値を整数ピクセル位置に丸めます
4. 配列スライスを使用して、画像から長方形領域を抽出します（y\_min から y\_max、x\_min から x\_max）
5. 切り抜いた領域に内容があることを検証します（座標が画像の範囲外などでクロップが空になる場合は None を返します）
6. クロップの由来を追跡するメタデータ（元画像、オフセット座標、一意のクロップ ID）を持つ切り抜き画像オブジェクトを作成します
7. 入力が動画の場合は動画メタデータを保持します（フレーム情報と時間的コンテキストを維持します）
8. 各入力画像に対して切り抜き画像を返します

このブロックは相対座標（0.0〜1.0）を使用するため、画像サイズに関係なく、すべての画像から同じ比例領域を抽出できます。たとえば、x\_center=0.5、y\_center=0.5、width=0.4、height=0.4 は、画像が 100x100 ピクセルでも 2000x2000 ピクセルでも、画像中央の 40% × 40% の領域を抽出します。これにより、サイズの異なる画像から一貫した領域を抽出する用途に特に有用になります（例：常に右上 20% の角を切り抜く、画像中央の一定割合を抽出する、特定の比例領域にフォーカスする）。中心基準の座標系により、角座標ではなく中心点でクロップを指定できるため、比例領域の定義がより直感的になります。

## 一般的な使用例

* **サイズ非依存の領域抽出**: 画像サイズが異なっても、同じ比例領域を抽出して一貫した解析を行います（例：解像度に関係なく画像の右上 20% の角を切り抜く、画像中心の一定割合を抽出する、パターンマッチング用に一貫した比例領域を切り抜く）。これにより、寸法の異なる画像セット全体で標準化された領域解析が可能になります
* **マルチ解像度画像処理**: 異なる解像度の画像から一貫した比例領域を抽出します（例：高解像度画像と低解像度画像から同じ相対領域を切り抜く、リサイズされた画像から比例領域を抽出する、異なる画像サイズ間で一貫したクロップを維持する）。これにより、サイズに依存しない領域抽出が可能になります
* **比例的な ROI フォーカス**: 画像の特定の比例領域を詳細処理のために切り出します（例：画像の特定の相対象限を切り抜く、テキスト認識用に固定割合の領域を抽出する、既知の比例的な注目領域にフォーカスする）。これにより、あらかじめ定めた比例領域に焦点を当てた解析が可能になります
* **多段階ワークフローの準備**: 2 次処理ステップ用に固定比例領域を抽出します（例：フル画像から特定の相対領域を切り抜き、その後 OCR や分類を切り抜き領域に適用する）。これにより、比例領域にフォーカスした階層的なワークフローが可能になります
* **標準化されたクロップ生成**: 学習や解析用に画像から一貫した比例クロップを作成します（例：データセット作成のためにすべての画像から固定の相対領域を抽出する、比較用に標準的な比例領域を切り抜く、特徴抽出用に均一な比例クロップを生成する）。これにより、サイズの異なる画像全体で標準化されたデータ準備ワークフローが可能になります
* **動画フレームの比例クロップ**: 異なる解像度の動画フレームから同じ比例領域を抽出します（例：時間解析のために各動画フレームから一定割合の領域を切り抜く、追跡用に一貫した比例監視ゾーンを抽出する、フレーム全体で特定の相対領域にフォーカスする）。これにより、さまざまなフレームサイズにまたがる比例領域の時間解析が可能になります

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

このブロックは画像を受け取り、固定の比例領域から切り抜いた画像を生成します：

* **画像読み込みブロックの後** 処理前に固定比例の注目領域を抽出し、画像全体を処理せずにあらかじめ定めた画像領域に焦点を当てた解析を可能にします。特に、サイズの異なる画像を扱う場合に有用です
* **分類または分析ブロックの前に** 領域に焦点を当てた入力を必要とする処理（例：固定比例領域内のテキストに対する OCR、切り抜き領域のきめ細かな分類、特定の比例画像領域向けの専用モデル）に対して、一貫した比例領域の最適化された処理を可能にします
* **動画処理ワークフローでは** 解像度が変わっても、複数フレームから同じ比例領域を抽出します（例：時間解析のために各動画フレームから一定割合の領域を切り抜く、追跡用に一貫した比例監視ゾーンを抽出する、フレーム全体で特定の相対領域にフォーカスする）。これにより、比例領域の時間解析が可能になります
* **検出ブロックの後ろに** おおよその相対位置が分かっており、その周囲の固定サイズの比例領域を抽出したい場合（例：大まかな相対領域でオブジェクトを検出し、その領域周辺を固定の比例領域で切り抜いて詳細解析する）。これにより、サイズ非依存のクロップを使った領域重視の多段階ワークフローが可能になります
* **可視化ブロックの前** 特定の領域を表示する場合（例：切り抜いた比例領域のみを表示する、固定の相対注目領域を可視化する、分離された領域注釈を表示する）。これにより、抽出した比例領域を重点的に可視化できます
* **バッチ処理ワークフローでは** 個々の画像サイズに関係なく、すべての画像から同じ比例領域を抽出して一貫した解析や比較を行う必要がある場合。これにより、寸法の異なる画像セット全体で標準化された比例領域抽出が可能になります

### 型識別子

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

### プロパティ

| **名前**     | **型**   | **説明**                                                                                                                                                                                                                                                                                                                            | 参照 |
| ---------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `name`     | `str`   | このステップの一意の識別子を入力してください。                                                                                                                                                                                                                                                                                                           | ❌  |
| `x_center` | `float` | クロップ領域の中心点の X 座標を相対値（0.0〜1.0）で指定します。0.0 は画像の左端、1.0 は右端、0.5 は水平方向の中央を表します。クロップ領域は、絶対ピクセルに変換した後、この X 座標を中心に配置されます。実際のクロップ境界は x\_min = x\_center - width/2、x\_max = x\_min + width として計算され、すべての値は画像幅に基づいてピクセルに変換されます。計算されたクロップが画像範囲を超える場合、クロップは切り詰められるか、空になる場合は None を返すことがあります。相対座標は異なる画像サイズに適応し、同じ相対値でどのサイズの画像からも同じ比例位置を抽出できます。    | ✅  |
| `y_center` | `float` | クロップ領域の中心点の Y 座標を相対値（0.0〜1.0）で指定します。0.0 は画像の上端、1.0 は下端、0.5 は垂直方向の中央を表します。クロップ領域は、絶対ピクセルに変換した後、この Y 座標を中心に配置されます。実際のクロップ境界は y\_min = y\_center - height/2、y\_max = y\_min + height として計算され、すべての値は画像高さに基づいてピクセルに変換されます。計算されたクロップが画像範囲を超える場合、クロップは切り詰められるか、空になる場合は None を返すことがあります。相対座標は異なる画像サイズに適応し、同じ相対値でどのサイズの画像からも同じ比例位置を抽出できます。 | ✅  |
| `幅`        | `float` | クロップ領域の幅を相対値（0.0〜1.0）で指定します。1.0 は画像幅の 100%、0.5 は画像幅の 50% を表します。画像幅に対する割合として、クロップの水平方向の広がりを定義します。クロップは、絶対ピクセルに変換した後、x\_center 座標の左右に width/2 ピクセルずつ広がります。クロップ全体の幅は、この相対値に画像幅を掛けた値に等しくなります。計算されたクロップが画像の幅を超える場合は、画像境界で切り詰められます。相対幅は異なる画像サイズに適応し、同じ相対値でどのサイズの画像からも同じ比例幅を抽出できます。                                                      | ✅  |
| `高さ`       | `float` | クロップ領域の高さを相対値（0.0〜1.0）で指定します。1.0 は画像高さの 100%、0.5 は画像高さの 50% を表します。画像高さに対する割合として、クロップの垂直方向の広がりを定義します。クロップは、絶対ピクセルに変換した後、y\_center 座標の上下に height/2 ピクセルずつ広がります。クロップ全体の高さは、この相対値に画像高さを掛けた値に等しくなります。計算されたクロップが画像の高さを超える場合は、画像境界で切り詰められます。相対高さは異なる画像サイズに適応し、同じ相対値でどのサイズの画像からも同じ比例高さを抽出できます。                                            | ✅  |

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

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

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

<details>

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

* 入力
  * `images` ([*`image`*](/workflows/ja/gaido/developer-guide/kinds/image.md)): 推論対象の画像です..
  * `x_center` ([*`float_zero_to_one`*](/workflows/ja/gaido/developer-guide/kinds/float-zero-to-one.md)): クロップ領域の中心点の X 座標を相対値（0.0〜1.0）で指定します。0.0 は画像の左端、1.0 は右端、0.5 は水平方向の中央を表します。クロップ領域は、絶対ピクセルに変換した後、この X 座標を中心に配置されます。実際のクロップ境界は x\_min = x\_center - width/2、x\_max = x\_min + width として計算され、すべての値は画像幅に基づいてピクセルに変換されます。計算されたクロップが画像範囲を超える場合、クロップは切り詰められるか、空になる場合は None を返すことがあります。相対座標は異なる画像サイズに適応し、同じ相対値でどのサイズの画像からも同じ比例位置を抽出できます。
  * `y_center` ([*`float_zero_to_one`*](/workflows/ja/gaido/developer-guide/kinds/float-zero-to-one.md)): クロップ領域の中心点の Y 座標を相対値（0.0〜1.0）で指定します。0.0 は画像の上端、1.0 は下端、0.5 は垂直方向の中央を表します。クロップ領域は、絶対ピクセルに変換した後、この Y 座標を中心に配置されます。実際のクロップ境界は y\_min = y\_center - height/2、y\_max = y\_min + height として計算され、すべての値は画像高さに基づいてピクセルに変換されます。計算されたクロップが画像範囲を超える場合、クロップは切り詰められるか、空になる場合は None を返すことがあります。相対座標は異なる画像サイズに適応し、同じ相対値でどのサイズの画像からも同じ比例位置を抽出できます。
  * `幅` ([*`float_zero_to_one`*](/workflows/ja/gaido/developer-guide/kinds/float-zero-to-one.md)): クロップ領域の幅を相対値（0.0〜1.0）で指定します。1.0 は画像幅の 100%、0.5 は画像幅の 50% を表します。画像幅に対する割合として、クロップの水平方向の広がりを定義します。クロップは、絶対ピクセルに変換した後、x\_center 座標の左右に width/2 ピクセルずつ広がります。クロップ全体の幅は、この相対値に画像幅を掛けた値に等しくなります。計算されたクロップが画像の幅を超える場合は、画像境界で切り詰められます。相対幅は異なる画像サイズに適応し、同じ相対値でどのサイズの画像からも同じ比例幅を抽出できます。
  * `高さ` ([*`float_zero_to_one`*](/workflows/ja/gaido/developer-guide/kinds/float-zero-to-one.md)): クロップ領域の高さを相対値（0.0〜1.0）で指定します。1.0 は画像高さの 100%、0.5 は画像高さの 50% を表します。画像高さに対する割合として、クロップの垂直方向の広がりを定義します。クロップは、絶対ピクセルに変換した後、y\_center 座標の上下に height/2 ピクセルずつ広がります。クロップ全体の高さは、この相対値に画像高さを掛けた値に等しくなります。計算されたクロップが画像の高さを超える場合は、画像境界で切り詰められます。相対高さは異なる画像サイズに適応し、同じ相対値でどのサイズの画像からも同じ比例高さを抽出できます。
* 出力
  * `クロップ` ([`image`](/workflows/ja/gaido/developer-guide/kinds/image.md)): ワークフロー内の画像。

</details>

<details>

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

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/relative_statoic_crop@v1",
	    "images": "$inputs.image",
	    "x_center": 0.3,
	    "y_center": 0.3,
	    "width": 0.3,
	    "height": 0.3
	}
```

</details>
