画像ベクター化APIとPotraceの比較:本番向けの選び方と検証手順
ホスト型の画像ベクター化APIとローカルのPotraceを比較します。単色と2色のテスト画像から、自分のSVG作成フローに合う方法を判断できます。
目次
画像を単色の前景と背景に分けられるなら、ローカルで動かすPotraceが向いています。画像をアップロードし、HTTP経由で結果を受け取りたいアプリには、ホスト型の画像ベクター化APIが向いています。複数の色を区別する必要があるなら、どちらを採用するか決める前に出力で色を確認してください。
処理が行われる場所を比較する
| 比較項目 | 自分のマシンやサーバーで動かすPotrace | PerfectVector Developer API |
|---|---|---|
| 入力 | 単体のCLIはPBM、PGM、PPM、BMPなどのビットマップ形式を読み込みます。PNGやJPEGは別の画像ツールで前処理します。 | v1 APIでは、条件を満たすPNG、JPEG、WebPをマルチパートでアップロードできます。 |
| トレース | CLIがしきい値でピクセルを前景と背景に分けます。前処理としきい値をバージョン管理すれば結果を再現できます。 | 元のラスター画像を送ってSVGを受け取ります。トレースはサービス側で行います。 |
| 運用 | ツールをインストールし、計算資源を確保し、ローカル実行の結果を記録します。 | APIキーを管理し、本番の既定同時実行数を守り、結果のリンクが切れる前にSVGを保存します。 |
| 運用費 | 計算資源、デプロイ、保守の費用を見込みます。 | 本番変換が成功するとAPIクレジットを消費します。テストキーでは固定のサンプルSVGが返ります。 |
Potraceの列は、既定の単色トレース方式を含む標準CLIを対象にしています。APIの列はPerfectVector v1の仕様です。他社サービスでは入力の制限、料金、ダウンロードのルールが異なる場合があります。Potraceのマニュアル · PerfectVector APIの制限 · PerfectVectorの結果 · PerfectVector APIクレジット
2枚のPNGをPotraceで1回ずつ処理した結果
256 × 256ピクセルのテスト画像を2枚作りました。1枚は透過した穴のある暗色の丸いマーク、もう1枚は赤と青の領域が接した画像です。各PNGを白地に合成し、グレースケールのPGMにして、Potrace 1.16のブラックレベル0.5でトレースしました。ブラックレベルは暗い前景と明るい背景の境目となる値です。
| 元画像 | PotraceのSVGで確認した内容 | 適した用途 |
|---|---|---|
| 透過した穴のある暗色のマーク | 2つのサブパスを含む黒いパスが1本。ImageMagickで描画すると外側と中央は透過し、マークは不透明でした。 | 穴を残す必要がある単色のシルエット。 |
| 接した赤と青の領域 | 1つのサブパスを含む黒いパスが1本。どちらの領域も中央が黒く描画されました。 | 単一のシルエット。元の色の境界が重要なら、別の前処理が必要です。 |

どちらの出力にもパスが含まれ、ラスター画像の埋め込みはありませんでした。これはローカルで行った2回のトレースの観察結果です。コマンドラインの手順は、Potrace向けにPNGを前処理する方法を参照してください。
自分のファイルで同じ条件のテストを行う
穴が重要な単色マークと、隣り合う色を区別したい画像を1枚ずつ用意します。トレース前に要件を書き出します。例えば、穴から背景が見えること、実際に使う大きさで隣の色が別の領域として見えることなどです。
- 両方の方法で同じ元ファイルを使います。Potraceでは合成の背景色、グレースケール変換、しきい値を記録し、前処理したビットマップをSVGと一緒に保存します。
- PerfectVectorのテストキーでアップロード、応答処理、SVGのダウンロードを確認します。固定のサンプルSVGで接続を検証し、画質は本番キーと同じ元ファイルで確認します。PerfectVectorのテストモード
- 両方の出力を、実際に使う同じビューアーかエディターで開きます。輪郭、色の分離、穴、ラスターの埋め込みを確認し、手作業で修正が必要な箇所を記録します。
ここではPotraceをローカルで実行し、ホスト型APIの仕様は公開ドキュメントで確認しました。上の表はローカル出力の確認結果です。自分の処理環境で同じ元画像を使えば、上の手順でホスト型のトレース品質を比較できます。
よくある質問
Potraceは1回の処理で全色を保持できますか?
標準のPotraceは前景と背景をトレースします。色を扱うには、必要な色ごとにマスクを作ってトレースを組み合わせるか、色対応のベクター化ツールを同じ入力で評価します。Potraceのマニュアル
PerfectVectorのテストキーでロゴの変換結果を確認できますか?
条件を満たす画像には、いつも同じサンプルSVGが返ります。テストキーはリクエストとダウンロードの確認に使います。送った画像をトレースするには本番変換を使います。PerfectVectorのテストモード
参考資料
- Potrace — マニュアル — 標準CLIの入力、しきい値、SVG出力。
- PerfectVector — APIの制限 — 対応ファイルと既定の同時実行制限。
- PerfectVector — 結果 — SVGのダウンロードと有効期限。
- PerfectVector — APIクレジット — 本番変換の成功時のクレジット消費。
- PerfectVector — テストモード — 固定出力と本番変換との違い。
PerfectVector Developer APIを開き、自分の元画像1枚をテストキーで試してください。サンプルをダウンロードできたら本番変換を行い、重要な穴や色がローカルの結果と比べてどう残るかを確認します。


