如何在 python 或 shell 中将 .PNG 转换为 .SVG Mac Big Sur(尝试过 Inkscape Shell)?

How to convert .PNG to .SVG in python or shell on Mac Big Sur (tried Inkscape Shell)?

我有一个包含一堆 .PNG 文件的文件夹,我想将这些文件转换为 .SVG。我下载了 Inkscape 并能够手动转换其中的一些,但很快我将需要将大量 .PNG 文件转换为 .SVG 文件,手动完成是不可行的。

我查看了 Inkscape 的 shell 功能,并在 Mac Big Sur 的终端上按如下方式激活了它:

/Applications/Inkscape.app/Contents/MacOS/inkscape --shell

但是当我使用这段代码时:

--export-plain-svg /Users/Downloads/pictures/testpic.png

我收到以下错误:

Unable to find: --export-plain-svg /Users/Downloads/pictures/testpic.png
verbs_action: Invalid verb: --export-plain-svg /Users/Downloads/pictures/testpic.png

(不是解决方案,而是澄清)

Inkscape 的命令行选项 --export-plain-svg 只是从现有的 .svg 文件中删除一些 XML 元数据。选项 --export-plain-svg 这样做:“导入 PNG,自动转换/“矢量化”它,然后将其导出为 SVG。”

您需要的功能称为“跟踪位图”(菜单路径/跟踪位图,或 SHIFT+ALT+B)(example)。此外,“填充边界区域”又名油漆桶工具 (U) 可用于在简单的 PNG 中追踪形状。这两者都需要先进行一些手动实验。


特别是 --export-plain-svg 删除了这些命名空间中的 XML 个属性:

xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"

(“sodipodi”是一个非常古老的前身项目名称,在重命名为“Inkscape”之前,AFAIK)

尝试https://www.visioncortex.org/vtracer (https://github.com/visioncortex/vtracer) 将彩色 png 转换为 svg 的开源工具,Inkscape 不支持颜色 AFAIK