P2VJ というビットマップ形式の画像ファイルからベクター形式のSVG形式に変換するソフトを試してみた

P2VJ というビットマップ形式の画像ファイルからベクター形式のSVG形式に変換するソフトを見かけたので試してみました。
どういったものかというとビットマップ形式のPNG/Jpeg/BMP の画像をSVG かPDF のベクター形式のファイルに変換してくれるというものです。

Java で書かれていて、Java 環境であれば動作するようです。
Windows 向けには.bat ファイルが用意されていますが、手元の環境はLinux だったので起動用のsh script を用意して実行するようにしました。

P2VJ をダウンロードして展開したディレクトリに移動して、実行用のscript をダウンロードして実行権を付与して実行します。

$ wget https://gist.githubusercontent.com/matoken/9200813/raw/51f17da9e8b8d17e6449063baeb40e8499df2b4e/runp2vj.sh
$ chmod +x runp2vj.sh
$ ./runp2vj.sh

使い方は基本的に変換したい画像を指定するだけです。詳細は同梱のreadme.txt/readme_en.txt に詳しいです。

チェックボックスについて
postere・・・ポスタリゼーション(色の平滑化)をかけます。写真や、ぼかしを使っている絵を変換しようとする場合ONにしておいてください。jpeg画像の場合もONにしておくことをお勧め
します。
remove anti-Aliase・・・完全に2値化された絵(MSペイントなどで描かれた絵)を変換する場合以外はONにしておいてください。
makepng・・・ベクタ化した後PNG画像を作ります。
makepdf・・・ベクタ化した画像の PDF ファイルを作ります。コンビニとかで高解像度画像が(たぶん)そのまま印刷できるよ!

サイズが各種揃っていて、SVG もあるDebian ロゴで試してみました。

  • Debian ロゴ
    • openlogo-nd-25.png -> 25×30 pix
    • openlogo-nd-50.png -> 50×61 pix
    • openlogo-nd-75.png -> 75×92 pix
    • openlogo-nd-100.png -> 101×124 pix

このPNG ファイルをP2VJ でSVG に変換しました。

SVG に変換たものを横幅200pix に拡大したもの。

SVG に変換たものを1000×1230 に拡大して切り出したもの。

さすがにあまり小さい画像だとイマイチですが、覚えておくと色々使えそうです。

以下メモ。

% montage -label %f -tile 2x2 -geometry 200 -quality 100 openlogo-nd-25.svg openlogo-nd-50.svg openlogo-nd-75.svg openlogo-nd-100.svg out.png
% for i in openlogo-nd-*.svg ;do convert -geometry 1000x1230 -crop 400x400+200+200 $i $i-corp.png; done
% montage -label %f -tile 2x2 -geometry 200 -quality 100 openlogo-nd-25.svg-corp.png openlogo-nd-50.svg-corp.png openlogo-nd-75.svg-corp.png openlogo-nd-100.svg-corp.png corp.png