A3スキャン画像に含まれる複数のタコグラフチャート(円盤状記録紙)を、ブラックボックス化せずインタラクティブに確認しながら処理するためのGIMP 3向けワークフローです。
- スキャン画像の自動分割(しきい値ベース、調整可能なパディング)
- 背景の自動除去(楕円選択ベース、調整可能なパディング)
- 中心ガイド自動設置(背景除去後、回転補正の目安)
- 円盤の回転補正(Correctiveモード対応)
- 文字入れ(CSV読み込み対応、テンプレート管理、位置比率管理)
- **PNG(アルファ付き)**で保存
- Tachograph Chart Wizard - 画像処理プラグイン(分割・背景透明化・保存)
- Tachograph Text Inserter - テキスト挿入プラグイン(CSV・テンプレート対応)
- Tachograph Template Exporter - テキストレイヤーからテンプレートJSONを出力
- 入力:PDFまたはJPEG(A3スキャン、最大6枚の円盤)
- 出力:アルファチャンネル付きPNG
- 操作性:逐次確認型(プレビュー+OK/やり直し/スキップ)
- 非機能要件:Windows 11 / GIMP 3.0.6対応、OSSライセンス(MIT推奨)
- 基盤:GIMP 3.0.6(Windows 11)
- プラグイン:Python 3.12+ + GIMP API(Gimp/GimpUi)
- 依存関係:なし(標準ライブラリのみ使用)
- 補助ツール:Slice Using Guides、Divide Scanned Images、Batcher(GIMP 3対応)
- GIMP 3.0以降がインストールされていること
- Python 3.12以降がインストールされていること
- 依存関係のインストール
# プロジェクトディレクトリで実行
uv sync- プラグインのインストール(対話式)
copy(Windowsはxcopy)とsymlinkを選択できます。
# 推奨: OS共通で対話式インストーラーを起動
uv run python scripts/install_plugin.pyOS別ラッパースクリプト
# Windows (PowerShell)
.\scripts\install_plugin.ps1# Linux / macOS
bash ./scripts/install_plugin.shWindowsで
symlinkを選んだとき権限不足の場合は、管理者PowerShellに昇格して再実行する確認が表示されます。
非対話モード例
# copyで上書き実行
uv run python scripts/install_plugin.py --mode copy --non-interactive --yes
# symlinkで上書き実行
uv run python scripts/install_plugin.py --mode symlink --non-interactive --yes手動コピー(従来)
xcopy /E /I src\tachograph_wizard "C:\Users\<ユーザー名>\AppData\Roaming\GIMP\3.0\plug-ins\tachograph_wizard"-
GIMPを再起動
-
プラグインの確認
- メニューから Filters > Processing を開く
- Tachograph Chart Wizard... と Tachograph Text Inserter... と Tachograph Template Exporter... が表示されることを確認
- 分割:自動切り分け(しきい値ベース、Split Padding設定で余白調整可能)
- 背景除去:楕円選択による自動背景除去(Ellipse Padding設定で調整可能、完了後に中心ガイドを自動追加)
- 回転補正:Correctiveモードで目視+数値入力orマウスドラッグ(中心ガイドを目安に調整)
- 文字入れ:テンプレート選択+日付選択+CSV読み込み
- 保存:命名規則(例:YYYYMMDD_車番_運転手.png)でPNG出力
-
画像を開く
- GIMP 3でA3スキャン画像(PDF/JPEG)を開く
-
プラグインの起動
- メニューから Filters > Processing > Tachograph Chart Wizard... を選択
-
Step 1: Split Images(画像分割)
- Split Padding (px): 各円盤周囲の余白を設定(デフォルト20px)
- 値を大きくすると余白が増える
- 原稿の歪みや位置ズレがある場合は調整
- Threshold Bias (Default=15): しきい値バイアス(通常は15のままでOK)
- Edge Trim (px): スキャン画像の端から切り取るピクセル数(必要に応じて設定)
- Split Imagesボタンをクリックして分割実行
- 分割された各円盤画像が新しいウィンドウで表示される
- Split Padding (px): 各円盤周囲の余白を設定(デフォルト20px)
-
Step 2: Remove Background(背景除去)
- Ellipse Padding (px): 楕円選択の内側余白を設定(デフォルト20px)
- 値を小さくすると円盤の外周ギリギリまで残す
- 値を大きくすると円盤の外周部分も除去される
- 原稿の歪みで円盤が楕円に見える場合は調整
- Remove Backgroundボタンをクリックして背景除去実行
- 各円盤画像から背景(白い部分)が自動的に除去される
- 背景除去後、縦横の中心ガイドが追加され、回転補正の目安になる
- Ellipse Padding (px): 楕円選択の内側余白を設定(デフォルト20px)
-
次のステップ
- 分割・背景除去された画像は、Tachograph Text Inserterで文字入れと保存を行います
- Split Padding: スキャンの位置ズレや歪みが大きい場合は25〜30pxに増やす
- Ellipse Padding:
- 円盤の外周ギリギリまで残したい場合は15px程度に減らす
- 円盤の外周に汚れやノイズがある場合は25〜30pxに増やす
- 原稿が楕円に歪んでいる場合は、歪みの度合いに応じて調整
examples/sample_data.csv を参考に、車両マスタCSVを作成します(必須列: vehicle_type, vehicle_no, driver)。
vehicle_type,vehicle_no,driver
普通車,123-45,山田太郎
トラック,678-90,佐藤花子重要: CSVファイルはUTF-8エンコーディングで保存してください。
日付: CSVに date または date_year/date_month/date_day がある場合はその値を使用し、無い場合はUIで選択した日付を全行に適用します。
- GIMP 3で画像を開く
- メニューから Filters > Processing > Tachograph Text Inserter... を選択
- テンプレートフォルダ選択(任意): 「Template Folder」でカスタムテンプレートの場所を選び、「Load Templates」をクリック
- テンプレート選択: ドロップダウンから使用するテンプレートを選択(デフォルト: standard)
- CSV読み込み: 「Load CSV」ボタンをクリックして、CSVファイルを選択
- 日付選択: 前回選択値があればそれを初期値にし、無い場合は当日を設定
- 行選択: スピナーで挿入するデータ行を選択(プレビューで確認可能)
- テキスト挿入: 「Insert Text」ボタンをクリックしてテキストレイヤーを作成
- 保存:
- Output Folder: 保存先フォルダを選択
- Select fields for filename: ファイル名に含めるフィールドを選択(日付は必須、車両番号と運転手名は任意)
- Save Imageボタンをクリックして画像を保存
Text Inserterは以下の設定を自動的に保存し、次回起動時に復元します:
- ファイル名に含めるフィールドの選択状態
- ウィンドウサイズ
- 最後に使用したCSVファイルのパス
- 最後に使用した出力フォルダ
- 前回選択した日付
テンプレートは src/tachograph_wizard/templates/default_templates/ に配置されています。
JSONファイルを編集して、テキストの位置、フォント、色などをカスタマイズできます。
詳細は docs/phase2_implementation.md を参照してください。
- テキストレイヤーを用意(レイヤー名は
text: <field>形式) - メニューから Filters > Processing > Tachograph Template Exporter... を選択
- テンプレート名と保存先を指定して「Export Template」を実行
- ステップ型ダイアログ:分割 → 透明化 → 回転 → 文字入れ → 保存
- 各工程でプレビュー表示、操作ボタン(OK/やり直し/スキップ/次へ)
/README.md # 本ドキュメント
/docs/ # UIモック・設計資料
/templates/ # XCFテンプレート(A/B/C)
/samples/ # 入出力サンプル(匿名化)
/LICENSE # MIT推奨
- GitHub Public(無料プラン)
- サンプル画像は匿名・低解像度化
- Issue/PRテンプレートで標準化
- テンプレート設計(A/B/C)
- 標準機能で運用開始(Slice Using Guides+Color to Alpha)
- ウィザードUIプロトタイプ開発
- Batcher併用で定型工程を一括化
- README・運用ガイド整備
MIT License