Linux CLI - 光栅到矢量(追踪)
Linux CLI - Raster to Vector (Tracing)
我是 运行 Ubuntu 服务器上的一个网站。该站点的部分功能是提供彩色矢量化图像。最后我希望得到类似于 Vector Magic 的输出。虽然 Vector Magic 做得很好,但对于我希望通过其 API.
处理的图像数量而言,它们的成本非常高
我正在尝试拍摄光栅图像,施展魔法,并希望最终通过 CLI 得到(有点)干净的 SVG 图像。我知道获得完美的光栅 > 矢量图像是不可能的,但小的质量损失不是问题。问题是获得一个同时具有透明度和颜色的矢量。
我四处搜寻,试图在不重新发明任何东西的情况下找到解决方案,但它看起来不太好。以下是我在这里提问之前尝试过的一些事情:
Inkscape 具有迄今为止我发现的最好的位图跟踪功能。有了干净的结果和颜色,这将是一个很好的解决方案。问题在于此功能无法轻松自动化或通过 CLI 使用,并且在我的 Ubuntu 服务器上无法使用(?)。
我也尝试过使用 Potrace,但是 Potrace 只能跟踪黑白。不幸的是,颜色是必需的。我听说过使用 mkbitmap 预处理图像,但是下一个选项涵盖了它。
Autotrace 是第二好的解决方案,因为它直接从 JPG 或 PNG 光栅提供彩色 SVG(使用 Potrace 和预处理器),但质量很糟糕。
KVEC 很整洁,几乎与 Autotrace 的结果相似。
虽然看起来很漂亮,但使用 SVG 嵌入光栅是可能的,但似乎很密集而且有点不受支持,所以我宁愿避开它。
那么,我的问题 -- 是否可以使用 CLI 实用程序从光栅转换为矢量?还是我要重新发明已经存在的东西以获得半不错的结果?感谢您的帮助!
我想我会 post 我的回答给其他成员,以防万一:
我能够使用 imagetracerjs 来解决我的问题。他们提供了很好的客户端和服务器端示例。虽然质量并不完美(正如矢量化所预期的那样),但它是开源的并且有很多选项可以获得相当不错的结果。
不要忘记查看 Java 版本,从 CLI 中使用它可能更容易:
https://github.com/jankovicsandras/imagetracerjava
基本用法:
java -jar ImageTracer.jar smiley.png
有选项:
java -jar ImageTracer.jar smiley.png outfilename output.svg ltres 1 qtres 1 pathomit 8 colorsampling 1 numberofcolors 16 mincolorratio 0.02 colorquantcycles 3 scale 1 simplifytolerance 0 roundcoords 1 lcpr 0 qcpr 0 desc 1 viewbox 0 blurradius 0 blurdelta 20
我是 运行 Ubuntu 服务器上的一个网站。该站点的部分功能是提供彩色矢量化图像。最后我希望得到类似于 Vector Magic 的输出。虽然 Vector Magic 做得很好,但对于我希望通过其 API.
处理的图像数量而言,它们的成本非常高我正在尝试拍摄光栅图像,施展魔法,并希望最终通过 CLI 得到(有点)干净的 SVG 图像。我知道获得完美的光栅 > 矢量图像是不可能的,但小的质量损失不是问题。问题是获得一个同时具有透明度和颜色的矢量。
我四处搜寻,试图在不重新发明任何东西的情况下找到解决方案,但它看起来不太好。以下是我在这里提问之前尝试过的一些事情:
Inkscape 具有迄今为止我发现的最好的位图跟踪功能。有了干净的结果和颜色,这将是一个很好的解决方案。问题在于此功能无法轻松自动化或通过 CLI 使用,并且在我的 Ubuntu 服务器上无法使用(?)。
我也尝试过使用 Potrace,但是 Potrace 只能跟踪黑白。不幸的是,颜色是必需的。我听说过使用 mkbitmap 预处理图像,但是下一个选项涵盖了它。
Autotrace 是第二好的解决方案,因为它直接从 JPG 或 PNG 光栅提供彩色 SVG(使用 Potrace 和预处理器),但质量很糟糕。
KVEC 很整洁,几乎与 Autotrace 的结果相似。
虽然看起来很漂亮,但使用 SVG 嵌入光栅是可能的,但似乎很密集而且有点不受支持,所以我宁愿避开它。
那么,我的问题 -- 是否可以使用 CLI 实用程序从光栅转换为矢量?还是我要重新发明已经存在的东西以获得半不错的结果?感谢您的帮助!
我想我会 post 我的回答给其他成员,以防万一:
我能够使用 imagetracerjs 来解决我的问题。他们提供了很好的客户端和服务器端示例。虽然质量并不完美(正如矢量化所预期的那样),但它是开源的并且有很多选项可以获得相当不错的结果。
不要忘记查看 Java 版本,从 CLI 中使用它可能更容易:
https://github.com/jankovicsandras/imagetracerjava
基本用法:
java -jar ImageTracer.jar smiley.png
有选项:
java -jar ImageTracer.jar smiley.png outfilename output.svg ltres 1 qtres 1 pathomit 8 colorsampling 1 numberofcolors 16 mincolorratio 0.02 colorquantcycles 3 scale 1 simplifytolerance 0 roundcoords 1 lcpr 0 qcpr 0 desc 1 viewbox 0 blurradius 0 blurdelta 20