> 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/qr-code-generator.md).

# QRコード生成器

テキスト入力（URL、テキスト内容、その他のデータ）から、カスタマイズ可能なエラー訂正レベル、視覚的なスタイル（色、枠線）、自動サイズ最適化を備えたQRコード画像を生成し、埋め込み、印刷、またはワークフローでのさらなる画像処理に適したPNG画像を作成します。

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

このブロックは、qrcodeライブラリを使用してテキスト入力からQRコード画像を作成し、指定されたテキストをスキャン可能なQRコードパターンにエンコードします。このブロックは:

1. テキスト入力（URL、文字列、またはエンコードするその他のデータ）とQRコード設定パラメータを受け取ります
2. 同じパラメータで以前生成したQRコードがないか、内部のLRUキャッシュを確認します（キャッシュにより、繰り返しのQRコード生成の性能が向上します）
3. 共通の色ユーティリティを使って、塗りつぶし色と背景色の色指定を解析します（16進コード、RGB文字列、標準色名、CSS3の色名に対応）
4. エラー訂正レベルの文字列を、qrcodeライブラリの対応する定数（低、中、Quartile、高のエラー訂正）にマッピングします
5. 指定されたパラメータでQRCodeオブジェクトを作成します:
   * version が None の場合、データ長に基づいてバージョン（サイズ）を自動決定します
   * 選択したオプションに基づいてエラー訂正レベルを設定します
   * モジュールごとに10ピクセルの固定box\_sizeを使用します
   * 指定された枠線幅を適用します
6. テキストデータをQRコードパターンにエンコードします
7. 指定された塗りつぶし色と背景色でQRコードからPIL Imageを生成します
8. 画像をRGB形式に変換し、その後NumPy配列に変換します
9. ワークフローの画像処理との互換性のため、RGB（PIL形式）からBGR（OpenCV/WorkflowImageData形式）に変換します
10. QRコード画像とメタデータを含むWorkflowImageDataオブジェクトを作成します
11. 結果をキャッシュに保存して将来再利用できるようにします（キャッシュ容量は100件、TTLは1時間）
12. QRコード画像を返します

このブロックはデータ長に基づいてQRコードサイズを自動的に最適化し、データをエンコードできる十分な大きさを確保しつつ、不要に大きくなりすぎないようにします。エラー訂正レベルは、データ容量とエラー復元能力のトレードオフです。エラー訂正を高くすると、QRコードが部分的に損傷していたり隠れていたりしても読み取れますが、最大データ容量は減少します。このブロックは、同じQRコードを複数回生成する際の性能を向上させるためにキャッシュを使用します。これは、同じURLやデータのQRコードを繰り返し生成するワークフローでよくあるケースです。

## 一般的な使用例

* **URLとリンクのエンコード**: URLやWebリンク用のQRコードを生成します（例: 商品ページ用のQRコードを作成する、ドキュメントリンク用のQRコードを生成する、モバイルから簡単にアクセスできるようにURLをエンコードするなど）。QRコードのスキャンでWebリソースへすばやくアクセスできるようにします
* **データのエンコードと共有**: テキストデータ、識別子、または情報をQRコードにエンコードします（例: 製品ID用QRコードの生成、シリアル番号のエンコード、在庫追跡用QRコードの作成など）。機械可読なデータのエンコードと共有を可能にします
* **ドキュメントとレポートの生成**: 生成されたドキュメントやレポートにQRコードを含めます（例: 詳細データへのリンクを含むPDFレポートにQRコードを追加する、生成画像にQRコードを埋め込む、整形済み出力にQRコードを含めるなど）。スキャン可能なリンクを備えたインタラクティブな文書機能を実現します
* **ワークフロー結果の共有**: ワークフローの結果や出力へのリンクを含むQRコードを生成します（例: 検出結果を指すQRコードを作成する、分析レポートへのリンクをエンコードする、ワークフロー出力の共有用QRコードを生成するなど）。QRコードのスキャンでワークフロー生成コンテンツを簡単に共有・アクセスできるようにします
* **ラベルとタグの生成**: ラベル付けや識別の目的でQRコードを作成します（例: 資産タグ用QRコードの生成、製品ラベル用QRコードの作成、識別情報のエンコードなど）。自動化されたラベルおよびタグ作成ワークフローを実現します
* **統合と自動化**: 自動化されたワークフローの一部としてQRコードを生成します（例: 自動文書処理用QRコードの作成、ワークフロー自動化トリガー用QRコードの生成、システム統合用データのエンコードなど）。自動化プロセスの一部としてQRコード生成を可能にします

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

このブロックはテキスト入力を受け取り、QRコード画像を生成します:

* **データ処理ブロックの後** （例: Expression、Property Definition）のようにテキスト出力を生成し、計算された値、URL、または処理済みデータをQRコードにエンコードして、ワークフロー生成データを機械可読にエンコードできるようにします
* **可視化ブロックの前** QRコードを他の画像に重ねたり組み合わせたりできるブロック（例: 画像上へのQRコードの重ね合わせ、検出可視化との組み合わせ、合成画像へのQRコード埋め込みなど）で、QRコードを視覚出力に統合できます
* **フォーマッターブロックの前に** （例: CSV Formatter）で、フォーマット済み出力にQRコードの参照やリンクを含め、構造化データのエクスポートにQRコードを統合できるようにします
* **出力先ブロックの前に** 生成されたQRコード画像を保存または送信できるようにします
* **ドキュメント生成ワークフローで** ドキュメントやレポートにQRコードを埋め込む必要がある場合に、スキャン可能なコードを備えたインタラクティブな文書機能を実現します
* **検出または解析ブロックの後** 検出結果や分析出力へのリンクを含むQRコードを生成し、QRコードのスキャンでワークフロー結果を簡単に共有・アクセスできるようにします

### 型識別子

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

### プロパティ

| **名前**          | **型** | **説明**                                                                                                                                                                                                                                                                                                                              | 参照 |
| --------------- | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -- |
| `name`          | `str` | このステップの一意の識別子を入力してください。                                                                                                                                                                                                                                                                                                             | ❌  |
| `text`          | `str` | QRコードにエンコードするテキスト、URL、またはデータです。URL（例: '<https://roboflow.com'）、テキストメッセージ、識別子、シリアル番号、その他のデータを含む任意の文字列を指定できます。QRコードはデータ長に基づいて自動的にサイズ調整されます。長いテキストを収めるには、より大きなQRコードか、より低いエラー訂正レベルが必要です。最大データ容量は、選択したエラー訂正レベルによって決まります。>                                                                                                                | ✅  |
| `error_correct` | `str` | QRコードがスキャン可能なまま許容できる損傷や隠れの程度を決定するエラー訂正レベルです。エラー訂正が高いほど、QRコードが部分的に損傷、遮蔽、変形していても読み取れますが、最大データ容量（文字数）は減少します。QRコードがはっきり見えていて損傷していない場合は、最大データ容量を優先して 'Low' を選択してください。容量とエラー復元のバランスを取る場合は、'Medium'（既定）を選択してください。QRコードが部分的に隠れている、損傷している、または難しい角度から読み取る必要がある場合は、'Quartile' または 'High' を選択してください。トレードオフ: エラー訂正が高いほどエラー復元は向上しますが、データ容量は減少します。 | ❌  |
| `border`        | `整数`  | モジュール（QRコードの単位）でのボーダー幅。既定は4モジュールです。ボーダーはQRコードパターンの周囲にあるクワイエットゾーンで、QRコードスキャナーがコードを識別・復号するのを助けます。ボーダーが大きいほど読み取り信頼性は向上しますが、画像サイズは大きくなります。推奨される最小ボーダーは4モジュールです。ボーダーはQRコードモジュール単位で測定されます（ピクセルではありません。実際のピクセルの境界サイズはbox\_sizeに依存し、box\_sizeは1モジュールあたり10ピクセルに固定されています）。                                                                    | ✅  |
| `fill_color`    | `str` | QRコードパターンのブロック（QRコード内の濃い四角）の色です。既定は 'BLACK' です。複数の色形式に対応しています: 16進コード（例: 赤の '#FF0000'、黒の '#000000'）、RGB文字列（例: 'rgb(255, 0, 0)'）、標準の色名（例: 'BLACK'、'WHITE'、'RED'、'BLUE'）、またはCSS3の色名。信頼性の高い読み取りのため、塗りつぶし色は背景色と十分にコントラストを付けてください。従来の白地に黒の配色が最も読み取り信頼性に優れています。                                                                           | ✅  |
| `back_color`    | `str` | QRコードの背景色（パターンブロックの間にある明るい部分）です。既定は 'WHITE' です。複数の色形式に対応しています: 16進コード（例: 白の '#FFFFFF'、黒の '#000000'）、RGB文字列（例: 'rgb(255, 255, 255)'）、標準の色名（例: 'BLACK'、'WHITE'、'RED'、'BLUE'）、またはCSS3の色名。信頼性の高い読み取りのため、背景色は塗りつぶし色と十分にコントラストを付けてください。従来の白背景に黒の塗りつぶしが最も読み取り信頼性に優れています。                                                                   | ✅  |

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

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

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

<details>

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

* 入力
  * `text` ([*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)): QRコードにエンコードするテキスト、URL、またはデータです。URL（例: '<https://roboflow.com'）、テキストメッセージ、識別子、シリアル番号、その他のデータを含む任意の文字列を指定できます。QRコードはデータ長に基づいて自動的にサイズ調整されます。長いテキストを収めるには、より大きなQRコードか、より低いエラー訂正レベルが必要です。最大データ容量は、選択したエラー訂正レベルによって決まります。>
  * `border` ([*`整数`*](/workflows/ja/gaido/developer-guide/kinds/integer.md)): モジュール（QRコードの単位）でのボーダー幅。既定は4モジュールです。ボーダーはQRコードパターンの周囲にあるクワイエットゾーンで、QRコードスキャナーがコードを識別・復号するのを助けます。ボーダーが大きいほど読み取り信頼性は向上しますが、画像サイズは大きくなります。推奨される最小ボーダーは4モジュールです。ボーダーはQRコードモジュール単位で測定されます（ピクセルではありません。実際のピクセルの境界サイズはbox\_sizeに依存し、box\_sizeは1モジュールあたり10ピクセルに固定されています）。
  * `fill_color` ([*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)): QRコードパターンのブロック（QRコード内の濃い四角）の色です。既定は 'BLACK' です。複数の色形式に対応しています: 16進コード（例: 赤の '#FF0000'、黒の '#000000'）、RGB文字列（例: 'rgb(255, 0, 0)'）、標準の色名（例: 'BLACK'、'WHITE'、'RED'、'BLUE'）、またはCSS3の色名。信頼性の高い読み取りのため、塗りつぶし色は背景色と十分にコントラストを付けてください。従来の白地に黒の配色が最も読み取り信頼性に優れています。
  * `back_color` ([*`string`*](/workflows/ja/gaido/developer-guide/kinds/string.md)): QRコードの背景色（パターンブロックの間にある明るい部分）です。既定は 'WHITE' です。複数の色形式に対応しています: 16進コード（例: 白の '#FFFFFF'、黒の '#000000'）、RGB文字列（例: 'rgb(255, 255, 255)'）、標準の色名（例: 'BLACK'、'WHITE'、'RED'、'BLUE'）、またはCSS3の色名。信頼性の高い読み取りのため、背景色は塗りつぶし色と十分にコントラストを付けてください。従来の白背景に黒の塗りつぶしが最も読み取り信頼性に優れています。
* 出力
  * `qr_code` ([`image`](/workflows/ja/gaido/developer-guide/kinds/image.md)): ワークフロー内の画像。

</details>

<details>

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

```json
{
	    "name": "<your_step_name_here>",
	    "type": "roboflow_core/qr_code_generator@v1",
	    "text": "https://roboflow.com",
	    "error_correct": "低（約7%の復元 / 最高データ容量）",
	    "border": 2,
	    "fill_color": "BLACK",
	    "back_color": "WHITE"
	}
```

</details>
