お絵描きソフトInkscape(インクスケープ)の使い方を初級レベルから上級レベルまで広く紹介しています。
情報追加のリクエストや分かりにくい点があれば下のCONTACTフォームからどうぞ。

Inkscapeの「エッジ検出」モードでのトレースについて

 Inkscapeのトレース機能のモードの1つ「エッジ検出」についてメモしようと思います。

(2025.05.29更新)

   (参考:画像トレースのパラメータと手順

 白黒のような2色で描かれた絵(ビットマップ画像)をInkscapeにインポートして、その絵の縁(エッジ)をトレースすることでベクトルデータ化(SVGデータ化)することができますが、Inkscapeのトレース機能をどのように使えばそれが可能なのかについて誤解しているケースがあることに気付いたので、どういうことなのかを考えてみました。

 次のような白黒のビットマップ画像があるとします。

 このビットマップ画像をトレースして、次の右側のようなパスに変換したいとします。

 そこでまず画像ファイルをInkscapeにインポートして、ビットマップオブジェクトとしてキャンバスに配置します。

 そしてトレース機能を使って縁(エッジ)をトレースしてパスオブジェクトを生成させるわけですが、次のようにエッジのところだけを黒く塗ったパスになってしまったというケースです。

 おそらくですが、これはトレース機能の検出モードの1つである「単一スキャン」の「エッジ検出」を選んでトレースを実行しているからではないかと思います。

 「検出モードはどれを選べばいいのかよく分からないが、エッジをトレースしたいのだから『エッジ検出』を選べばいいのだろう」と考えたのかもしれません。確かに「エッジ検出」というメニューだけ見るとそんな気もしてきますが、「エッジ検出」というモードは「エッジをなぞったパスを生成する」モードではなくて、「エッジを太いペンでなぞったときの絵を表すパスを生成する」モードなので、上のような見た目のパスが生成されてしまうわけです。

 そもそもトレース機能はどのモードも「エッジを検出してパス化する」ものである点で共通なので、「エッジ検出」というモード名はそのモードの特徴を上手く表せていないように思います。モード名は「エッジのみ抽出」ぐらいのほうがいいかもしれません。

 「エッジ検出」モードで生成したパスの一部を拡大すると分かるかと思います。

 本当に実行したい「エッジをなぞったパスを生成する」には、「単一スキャン」の「明るさの境界」モード、「単一スキャン」の「色の量子化」モード、「マルチカラー」の「色」モードか「白黒」モードなどでトレースすればよいと思います。

 例えば「単一スキャン」の「明るさの境界」モードで実行すると、希望通りのパスが生成されます。

 ちなみにできるだけきれいにエッジをパス化したいときは解像度の高いビットマップオブジェクトを対象にしてトレースを実行すると良いです。詳しくは「ビットマップ画像をベクタデータ化する」を。