イラストレーション --- ドロー系ツール向けのベクタ画像に変換

概要

illustration 《複》illustrations … 【名】イラスト(レーション)、実例、図解、説明図、挿絵、例証、例図
 画像研究だったり、デザインだったり、挿絵だったりと、コンピュータを使いこんでくると、意外と EPS や SVG といったベクタ画像を使う場面に出くわします。

 コンピュータ上、ベクタ画像の世界のみでコトが済むならば何ら問題はないのですが、手描きであったり、コンピュータ上でもビットマップ画像の世界が絡んでくると、「イラストレーション」と銘打ってはみたものの、複雑・冗長な作業が絡んでくると「フラストレーション」がたまるという、冗談にしてはキツイ話題です。

 ベクタ画像化のツールなんてのは、結構いろいろな場所で紹介されておりますんで、今回は、手描きのロゴデザインや、写真といったところからベクタ画像の線画を作成してみました。

手順

1. ディジタル化

 振り返ってみるに、うちの大学の校章、ベクタ画像のサンプルにお目にかかったことがありません。そこで (ちゃんと著作権というものが存在しますが)「参考資料」ということで、この画像を使ってみます。

 岩手県立大学の校章およびロゴ。実際の取り込みサイズは 1020 × 923 pixels です。

 手描きであったり、印刷物であったりという場合は、ディジタル化が必要です。スキャナで取り込むのが理想ですが、イラストであればディジタル・カメラでも問題はないと思います。既に、Photoshop、GIMP、ペイントなどでディジタル画像を作成できているなら、先に進みます。

2. 切り出し、2値化

 マークとフォント、それぞれ上下左右に余裕を残して切り出し、白黒2値画像に変換しました。
 枠線のみを取り出すのであれば、「エッジ抽出」、場合によってはさらに「細線化」が必要になるでしょう。
 元画像の濃淡にムラがある場合は、部分的な2値化を行う必要があります。

 このサイズでは分かりにくいですが、両方ともに縁はギザギザしてます。このあとの「ベクトル化」では、画素をトレースするので、ドット単位での修正作業は結構重要です。

 2値変換には IrfanView を、縁の修正には Windows バンドルの「ペイント」を使用しました(直線が引けるので、思いのほか便利です)。ベクトル化で用いるツールに合わせて、BMP形式で保存します。

3. ベクトル化

 今回ベクトル化では、CR8tracer というツールを使いました。同様のベクトル化ツールでは、Potrace がよく用いられますが、 CR8tracer はほぼ同じ機能をGUIで提供します。
 以下リンク先は、ここまでの2値化画像を、それぞれ SVG 形式に変換したものです(別窓で開きます)。

ここまで来れば、illustrator や、inkscape、sodipodiを用いて、ノード(ポイント)を調整しながら形を整えて完成です。

付録

付録1. Potrace のオプション一覧

  "Potrace" は、画素の並びをトレースし、スケーラブル(拡大・縮小可能な)画像に変換するコマンドライン・ユーティリティーです。
 2値画像を対象とするため、グレースケールやカラー画像は自動的に2値化します。

 入力フォーマットは、ビットマップデータ(PnM、BMP形式)に対応しています。出力フォーマットは、EPS 形式を標準とし、 postscript, ps, pdf, svg, pgm, gimppath, xfigに対応しています。

コマンドプロンプトで、次のようにタイプして使います。

> potrace [options] [file...]

右表、使用可能なオプションです。

※dim(サイズ指定時)の単位は、in, cm, pt
(デフォルトはインチ、pgmとgimppathの場合はピクセル)

 

 
総合的なオプション 機能
-h, --help ヘルプメッセージを出力します。
-v, --version バージョンを出力します。
-l, --license  プログラムのライセンスを出力します。
-V, --show-defaults デフォルトを出力します。
--progress プログレスバーを表示します。
入出力オプション 機能
-o, --output file 出力ファイル名を設定する。
-e, --eps EPS形式で出力する。
-s, --svg SVG形式で出力する。
-g, --pgm PGM形式で出力する。
-b, --backend name バックエンドを指定する。
-C, --color #rrggbb 線色(デフォルト…黒)
--fillcolor #rrggbb 塗りつぶしの色(デフォルト…透明)
--opaque 白色を不透明化
--group 関連パスをグループ化
アルゴリズムオプション 機能
-z, --turnpolicy policy パス分解における、あいまいな表現の解決法を指定する。
-t, --turdsize n  縁のサイズを n で指定する(デフォルト…2)
-a, --alphamax n 角の閾値を n で指定する(デフォルト…1)
-O, --opttolerance n 曲線の最適化パラメータを n で指定する(デフォルト0.2)
-u, --unit n  1/n まで量子化(デフォルト…10)
-d, --debug n タイプ n のデバッグ出力(n=1、2、3)
スケーリングと配置のオプション 機能
-W, --width dim 出力画像の幅方向サイズ
-H, --height dim  出力画像の高さ方向サイズ
-r, --resolution n[xn] 解像度
-x, --scale n[xn] PGMのスケーリングファクター
-S, --stretch n ストレッチ
-A, --rotate angle 回転角(反時計回り)
-M, --margin dim マージン
-L, --leftmargin dim 左マージン
-R, --rightmargin dim 右マージン
-T, --topmargin dim トップマージン
-B, --bottommargin dim ボトムマージン
Postscript/EPSオプション 機能
-P, --pagesize format ページサイズ(デフォルト…レターサイズ)
-c, --cleartext 非圧縮
-2, --level2 postscript level 2 圧縮(デフォルト)
-3, --level3 postscript level 3 圧縮(デフォルト)
-q, --longcoding ファイルサイズを最適化しない
-G, --gamma n アンチ・エイリアシングのためのガンマ値(デフォルト…2.2)
フロントエンドオプション 機能
-k, --blacklevel n 2値化時の閾値(デフォルト…0.5)
-i, --invert ビットマップ反転

付録2. Potrace 関連ソフト

Potrace GUI・類似ソフト

連動ソフト

グラフィック・コンバータ

更新履歴

2008/10/01: 作成


Back / Studying / Top