犬ターネット

ImageMagick と Potrace を使ってPNG画像をSVG画像に変換する(※Adobe Express を使った方がいい)

2025-03-19 画像処理

コマンドラインだけで png → svg 変換を行う手順。環境は Windows 11 だけど Linux でもコマンドは一緒だと思う。

ImageMagick をダウンロード、インストール

https://imagemagick.org/script/download.php から ImageMagick-7.1.1-45-portable-Q16-x64.zip をダウンロード。

zip展開後、展開したディレクトリを ImageMagick にリネームして C:/tool/ImageMagick に配置。コマンドプロンプトから以下実行でバージョン表示されることを確認。

> C:\tool\ImageMagick\magick --version
Version: ImageMagick 7.1.1-45 Q16 x64 37b3453:20250309 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Channel-masks(64-bit) Cipher DPC OpenCL OpenMP(2.0)
Delegates (built-in): bzlib cairo freetype gslib heic jng jp2 jpeg jxl lcms lqr lzma openexr pangocairo png ps raqm raw rsvg tiff webp xml zip zlib
Compiler: Visual Studio 2022 (194334808)

Potrace をダウンロード、インストール

https://potrace.sourceforge.net/#downloading から potrace-1.16.win64.zip をダウンロ―ド。

zip展開後、展開したディレクトリを potrace にリネームして C:/tool/potrace に配置。コマンドプロンプトから以下実行でバージョン表示されることを確認。

> C:\tool\potrace\potrace --version
potrace 1.16. Copyright (C) 2001-2019 Peter Selinger.
Library version: potracelib 1.16
Default unit: inches
Default page size: letter

png → pnm → svg 変換

元の png 画像はこれ。

cat.png

まず、ImageMagick の magick コマンドを使い、png から pnm フォーマットに変換。

C:\tool\ImageMagick\magick cat.png cat.pnm

次に、potrace で pnm → svg フォーマットに変換。

C:\tool\potrace\potrace cat.pnm -s -o cat.svg

変換後のsvg画像がこれ。モノクロになっちゃう。potrace はカラーのSVG画像変換には対応していないとのこと。これはこれで味はある、、、

cat.svg

色情報をなるべく損なわずに PNG → SVG 変換したい場合は Adobe Express を使った方がいい。アカウント登録が必要だけど無料。

以下は Adobe Express で変換した SVG画像。色情報は保持されているけれど元のファイルサイズの20倍くらいになっちゃう(13KB→265KB)。

cat_adobe.svg


≪ 2025-03-21
Google フォト上のファイルのみを削除し、バックアップデバイス上のファイルは残したい

2025-03-17 ≫
さいたまマラソン