如何正确使用 potrace (CLI) 跟踪位图

平面设计 向量 svg 图像跟踪 图像魔术师
2022-02-17 02:01:55

我试图矢量化一个.png. 我找到了一个实用程序(已合并到 InkScape 中)potrace,. 如果你们中的任何人知道如何使用potrace,请教我获得锐利输出的正确方法。

考虑这个输入(png)。

在此处输入图像描述

要使用potrace,图片必须是位图格式。所以我使用imagemagick对其进行了转换。

convert image.png image.bmp

然后我继续potrace

potrace --svg falcon.bmp -o falcon.svg

但不幸的是,输出看起来很乏味。

在此处输入图像描述

我不太了解选项(potrace -h)。或者,如果有比 更好的选择potrace,请告诉我。

2个回答

波特雷吉

我建议您下载用于 potrace 和 autotrace 的 GUI 界面,其中包含两种用于跟踪位图图像的算法。它以一种简单的方式(希望如此)收集信息,然后使用所有相关选项启动 potrace 或 autotrace。有时使用 GUI 比使用命令行更舒服,它更具交互性,并且您可以轻松尝试不同的设置。

截屏:

在此处输入图像描述

如何提高 Potrace 的输出质量?

最有效的方法是提高输入质量以更高分辨率扫描您的图像。以灰度扫描您的图像,并使用诸如 mkbitmap 之类的程序生成高分辨率位图以进行跟踪。

在某些情况下,它还有助于降低输入图像的分辨率。如果您的输入文件的分辨率非常高,则 Potrace 生成的输出可能会比需要的大。如果输入有斑点或嘈杂,有时也会发生这种情况。与其尝试简化矢量图像,不如将输入位图缩小通常会有所帮助。

更新:

有一个实用程序mkbitmap,可以将彩色或灰度图像转换为适合作为其他程序输入的格式,特别是跟踪程序Potrace它对于将扫描的线条艺术(如卡通、手写文本等)转换为高分辨率的双层图像特别有用。

这个网站上,你可以找到一些 mkbitmap 操作的例子。

使用 BirdFont 进行跟踪

potrace 算法很好,但没有 autotrace 算法是完美的。

当我尝试使用 potrace 自动追踪字母时,我遇到了类似的问题。小细节没有保留,结果似乎比我想要的要平滑一点。我通过在BirdFont中实现我自己的自动跟踪功能解决了这个问题它似乎工作得更好一点,但它不如 potrace 算法快。

转换为黑白后的图像如下所示: 描摹前的图像

跟踪结果如下所示: 从光栅图像自动生成的矢量图形。

此图像是使用以下设置生成的:

  • 三次贝塞尔路径
  • 对比度:0.59
  • 细节数量:3.0
  • 简化:0.1

BirdFont 是一个字体编辑器,TTF 是最常见的字体格式字体,但您可以将生成的图像导出为 SVG。

编辑-> 将字形导出为 SVG

您可以在BirdFont 网站上找到有关自动跟踪功能的更多说明。