画像の一括加工は、ブラウザ上のツールを行き来するだけで時間が溶けていきます。

この記事では、テックメディアXDA Developersの記者Abhinav Raj氏がClaude Opus 4.8でPython製の画像処理ツールを組み立てた事例を整理します。要件の伝え方から、Lanczos(ランコス)補間とReal-ESRGANの比較結果まで、再現の参考になるポイントをまとめています。

この記事でわかること

  • 1080p化・16:9クロップ・ドラッグ&ドロップを満たすツールの作り方
  • Claudeへの指示内容と選ばれたPythonライブラリ
  • LanczosとReal-ESRGANのアップスケール品質の違い
  • AIアップスケーラーが苦手とするケース

複数ツールを行き来するのがボトルネック

Raj氏の仕事では、スクリーンショットや製品画像、ベンチマーク用キャプチャなど、公開前に整える画像が大量に発生します。公開可能な状態にする条件はシンプルで、高さ1080p以上、かつ16:9のアスペクト比(画面の縦横比)です。

個別の操作自体は難しくありません。問題は、WEBP・JPG・JPEG・PNGなど形式のばらつきの中で、Canvaやアップスケール系Webサービスを行き来しながら同じ条件を毎回守る手間です。ログインや有料ダウンロードの壁も、単純作業のストレスを増やします。

Claudeに要件を渡してPythonツールを生成

Raj氏が目指したのは、ファイルをドラッグ&ドロップするだけで次の処理が走るデスクトップ用ユーティリティです。

  • 高さが1080p未満なら自動アップスケール
  • 16:9へインテリジェントクロップ
  • WEBP / JPG / JPEG / PNGに対応

指示文は要件の列挙に近い形で、Claude Opus 4.8に渡されました。ClaudeはGUIにTkinter、画像処理にPillow(Pythonの画像ライブラリ)、Windows 11向けドラッグ&ドロップにTkinterDnD2を組み合わせる方針を提示し、実装に進みました。

Raj氏によると、初版コードは想定より早く完成し、セットアップで十数回のエラーと1つの問題ライブラリを乗り越えた後、意図どおり動作したとのことです。vibe coding(自然言語でAIにコード生成を任せる手法)では、要件を言語化できているかが成果を左右します。

第1版はLanczos、第2版はReal-ESRGANへ

初版のアップスケールはLanczosリサンプリングでした。Lanczosは高品質な補間アルゴリズムで、単純な拡大なら多くの場面で十分です。ただし低解像度画像の「失われた情報」を埋める際、周囲ピクセルから推測する方式のため、元の劣化はそのまま残りやすい性質があります。

Raj氏がClaudeに「より良いアップスケーラーはないか」と尋ねると、Real-ESRGANが提案されました。

Real-ESRGANはTencent ARC Labなどが公開するオープンソースの画像復元モデルです。公式READMEでは、合成データだけで学習した「実世界向けブラインド超解像」アルゴリズムと位置づけられています。従来の補間と異なり、深層ニューラルネットワークがテクスチャやエッジ、構造を認識して再構成します。

500×272pxのストレステストで比較

Raj氏は意図的にテスト画像を500×272ピクセルまで圧縮し、両方式を比べました。

Lanczosの結果 解像度は上がりますが、圧縮ノイズも一緒に拡大されます。大きい画像になっても、元の粗さは残ったままです。

Real-ESRGANの結果 木の葉の質感、車体パネルライン、道路のディテールが再構成され、視覚的な改善がはっきり出ました。Raj氏は「思わず立ち止まって見返した」と述べています。

一方で、コントローラーのロゴ、AIOクーラー上の文字、ナンバープレートなど極小の文字情報は、判読可能な形ではなくノイズ状に再構成されました。ソースの情報が失われすぎている場合、アップスケーラー共通の限界として、文字の正確な復元は期待できません。Raj氏もこれは意図的なストレステストであり、編集用途向けではないと明記しています。

週単位で削減される編集時間

完成したツールは、Raj氏の画像処理フローに組み込まれ、週あたり数時間規模の作業時間を削減していると報告されています。汎用Webツールの組み合わせから、自分専用の一画面処理へ寄せた効果です。

同様の発想は、すでにReal-ESRGAN向けGUIプロジェクトでも見られます。TransparentLC氏のrealesrgan-guiはPythonとTkinterで構築され、ドラッグ&ドロップや任意サイズへの拡大(Real-ESRGANで複数回拡大した後、Lanczosで縮小)にも対応しています。Raj氏の事例は、こうした既存OSSの考え方を、Claude経由で自分のワークフロー仕様に合わせて素早く実装した点に価値があります。

再現するうえで押さえる点

Claudeに渡す情報は、解像度条件・アスペクト比・対応形式・UIの操作感まで具体化すると設計精度が上がります。Real-ESRGANはGPUがあると処理が現実的な速度になりますが、公式にはNCNN/Vulkan版のポータブル実行ファイルも用意されており、Python環境なしでも動かせます。

Raj氏の経験どおり、ライブラリ依存関係の解決に時間がかかるケースもあります。初版でLanczos、品質が足りなければReal-ESRGANへ切り替える二段構えは、開発コストと出力品質のバランスを取りやすい進め方です。

画像の公開前整形のような反復作業は、要件が明確なほどAIコーディングの効果が出ます。ツール選びより先に「毎回何を満たしたいか」を言語化し、Claudeに実装方針の壁打ちを任せる流れが、この事例の再現性の核です。