平均矢量图像以获得图像之间的图像

时间:2011-02-06 05:58:05

标签: algorithm image-processing vector vector-graphics

我正在寻找一种算法,该算法采用矢量图像数据(例如边缘集合)并插入另一组边缘,这是两个(或更多)集合的“平均值”。

换句话说,就像Adobe Flash中你“补间”两个矢量图像一样,软件会自动计算中间图像。因此,您只需指定起始图像和结束图像,然后Flash将处理所有中间图像。

有没有建立的算法来做到这一点?特别是在不同数量的边缘的情况下?

1 个答案:

答案 0 :(得分:2)

你到底是什么意思?我们在谈论使用曲线的平滑矢量图形吗?

基本策略是简单地对控制多边形的点和方向进行线性插值。

基本上你可以简单地取两个相应的点(每个曲线/矢量形式之一)并用以下内容进行插值:

x(t)=(1-t)* p 1 + t * p 2 ,其中t为[0,1]

(当然t = 0.5会给你两者之间的平均值)

由于矢量图形通常使用曲线,因此您需要对每个控制点的方向矢量执行相同操作,以获得平均曲线的方向矢量。

一个很大的问题是匹配每个控制多边形的正确点,特别是如果两条曲线具有不同的度数。您可以尝试对其中一个进行度数提升以匹配另一个的度数,然后逐个将它们相互分配并进行插值。

也许这有帮助...