gpt4 book ai didi

image - 比较两个矢量图

转载 作者:行者123 更新时间:2023-12-04 02:21:42 25 4
gpt4 key购买 nike

我想比较两个矢量图像(比如 SVG),看看它们有多接近。
基本上,我想测试将光栅图像转换为矢量格式的跟踪算法的正确性。

我想测试这个算法的方法是:

- 拍摄一些矢量图像。

- 将矢量图像光栅化为 png。

- 将上述 png 提供给跟踪算法。

- 将跟踪程序(SVG)的输出与原始程序的输出进行比较。

虽然我知道光栅图像有一些度量标准,比如 RMSE(在 imagemagick 中),但我不熟悉矢量格式是否有一些标准度量标准。
我可以想到一些简单的,如弧线、直线、曲线等。但这些无法检测几何和颜色的偏差。有人可以建议一个好的标准指标或其他一些方法来解决这个问题。

最佳答案

我不知道这方面的标准指标,但我确实有一个指针,希望对您有所帮助。

Batik 项目使用一组工具来测试其对 SVG 文档的渲染不会与一组引用图像过度偏离。我的理解是它本质上是光栅化 SVG 并执行两个图像的基于像素的差异以查看它们的不同之处。它应该足够聪明,可以忽略不可避免的差异,例如可能源于抗锯齿的细微差异。

您可以在以下位置阅读更多相关信息(尤其是 SVGRenderingAccuracyTest 部分):http://jpfop.sourceforge.net/jaxml-batik/html-docs/test.html .

当然,这意味着您将进行栅格比较而不是矢量比较。在您的情况下,矢量比较将非常困难,因为完全不同的曲线可能会产生极其相似的渲染——我认为这很好。更重要的是,输入可能有一个隐藏在另一个后面的形状,使得输出不可能猜测它是什么。因此,输出最终会显示为完全错误,即使它可能会产生像素完美的等效渲染。

但是,如果您确实希望执行矢量比较(也许您的数据以一种使其更可行的方式受到限制),最简单的方法可能是首先对两个 SVG 进行标准化(将所有形状转换为路径、消除所有元数据、应用所有属性的继承和归一化它们的值,归一化路径数据以始终使用相同的形式等)并将其用于两个目的:首先,查看归一化树结构中的差异。那应该已经为您提供了一些有用的信息。其次,如果您感到勇敢,请测量各个曲线之间差异的表面。不过,我会三思而后行,因为它可能会给您带来很多误报。

关于image - 比较两个矢量图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7540575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com