Linux CLI - 光栅到矢量(追踪)

标签 linux svg vector command-line-interface raster

我在 Ubuntu 服务器上运行网站。该站点的部分功能是提供彩色矢量化图像。最后我希望得到类似于 Vector Magic 的输出.尽管 Vector Magic 做得非常出色,但对于我希望通过其 API 处理的图像数量而言,它们的成本极其昂贵。

我正在尝试拍摄光栅图像,施展一些魔法,并希望最终通过 CLI 得到一个(有点)干净的 SVG 图像。我知道获得完美的光栅 > 矢量图像是不可能的,但小的质量损失不是问题。关键是要获得同时具有透明度和颜色的矢量。

我四处搜寻,试图在不重新发明任何东西的情况下找到解决方案,但它看起来不太好。以下是我在这里提问之前尝试过的一些事情:

  • Inkscape 具有迄今为止我发现的最好的位图跟踪功能。有了干净的结果和颜色,这将是一个很好的解决方案。问题在于此功能无法轻松自动化或通过 CLI 使用,并且在我的 Ubuntu 服务器上无法使用(?)。

  • 我也尝试过使用 Potrace,但是 Potrace 只能追踪到黑色和白色。不幸的是,颜色是必需的。我听说过使用 mkbitmap 预处理图像,但下一个选项涵盖了这一点。

  • Autotrace 是次佳的解决方案,因为它直接从 JPG 或 PNG 光栅提供彩色 SVG(使用 Potrace 和预处理器),但质量非常糟糕。

  • KVEC 非常简洁,几乎与 Autotrace 的结果相似。

  • 尽管看起来很漂亮,但使用 将光栅嵌入 SVG 是可能的,但似乎很密集且有些不受支持,所以我宁愿避开它。

那么,我的问题是——是否可以使用 CLI 实用程序从光栅转换为矢量?还是我要重新发明已经存在的东西以获得半不错的结果?感谢您的帮助!

最佳答案

我想我会为其他成员发布我的答案,以防万一:

我能够使用 imagetracerjs解决我的问题。他们提供了很好的客户端和服务器端示例。虽然质量并不完美(正如矢量化所预期的那样),但它是开源的并且有很多选项可以获得相当不错的结果。

关于Linux CLI - 光栅到矢量(追踪),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37306524/

相关文章:

html - 在 SVG(或其他图像)之上创建 Canvas

javascript - 在一组路径上应用 Raphael 中的悬停事件

c++ - 将赋值运算符与 unique_ptr 的 vector 一起使用

linux - 哪些组合键与信号相关联

linux - 在 Yocto 上安装 NFS 包

java - 通过 IRC 的 SSH 客户端输出

linux - 在几个文件中搜索一大段有特殊字符的字符串并替换

javascript - 通过 javascript 在文档顶部注入(inject)该 SVG

c++ - 在 vector 中调用覆盖函数 (C++)

vector - 嵌套数据结构的 Rust 可变性