是否可以从命令行将 Inkscape autotrace PNG 转换为 SVG?

Is it possible to make Inkscape autotrace PNG to SVG, but from the command line?

我想自动进行“光栅到矢量”的转换。 PNG 到 SVG。 (这里的大多数问题都是相反的)

我已经在 Linux 上尝试了旧的命令行工具 autotrace,但我无法将其安装到 运行。我试过安装一个包,并从源代码编译它。没有。

然后我意识到 Inkscape 现在在其代码库中集成了“autotrace”。我想将简单的草图从 PNG 转换为 SVG。

我想在 Bash for 循环中执行此操作,使用不同的自动跟踪设置(通过次数;忽略最大 X 像素宽度的斑点)等

我试过“action”命令行选项

inkscape --without-gui --actions="file-open:my.png"

这会弹出“png 位图图像导入”小对话框,等待我确认。

我还尝试了 verb 命令行选项

inkscape --with-gui  --verb="FileImport:my.png"

这将打开大型“Select 要导入的文件”对话框(忽略我的 --verb 参数)

至此我放弃了

我希望 Inkscape 导入 PNG 图片,使用一些设置自动跟踪它,将其保存为 SVG。也许,在保存之前,复制描摹图层,锁定导入的背景图层,将图层从 path-12345 重命名为“tracesettings-x-y-z”等

(我的最终目标是置换跟踪设置,为我的用例找到好的设置,但这不是这个问题的重点)

Inkscape 正在使用 potrace and autotrace 将位图图像描绘成矢量格式,例如 SVG 和 PDF。

假设您有一个图像:foo.png 您想要使用 potrace 追踪到 SVG:

  • 首先,您需要将图像转换为位图格式 (BMP)。
  • 调用potrace命令
# I am using ImageMagick convert command to convert PNG to BMP
convert foo.png foo.bmp

# Invoke potrace command with SVG backend
potrace -b svg foo.bmp

结果将是:foo.svg