Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 对矢量图像求平均值,以在图像之间求平均值_Algorithm_Image Processing_Vector_Vector Graphics - Fatal编程技术网

Algorithm 对矢量图像求平均值,以在图像之间求平均值

Algorithm 对矢量图像求平均值,以在图像之间求平均值,algorithm,image-processing,vector,vector-graphics,Algorithm,Image Processing,Vector,Vector Graphics,我正在寻找一种算法,该算法获取矢量图像数据(例如,边集)并插值另一组边,这是两个(或更多)集的“平均值” 换一种说法,它就像Adobe Flash,你可以在两个矢量图像之间“穿插”,软件会自动计算图像之间的距离。因此,您只需指定起始图像和结束图像,然后Flash会处理所有中间图像 有没有什么既定的算法可以做到这一点?特别是在不同数量的边的情况下?你所说的边到底是什么意思?我们讨论的是使用曲线的平滑矢量图形吗 一个基本的策略是简单地对控制多边形的点和方向进行线性插值 基本上,您可以简单地获取两个对

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

换一种说法,它就像Adobe Flash,你可以在两个矢量图像之间“穿插”,软件会自动计算图像之间的距离。因此,您只需指定起始图像和结束图像,然后Flash会处理所有中间图像


有没有什么既定的算法可以做到这一点?特别是在不同数量的边的情况下?

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

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

基本上,您可以简单地获取两个对应点(每个曲线/向量形式中的一个)并使用以下内容对其进行插值:

x(t)=(1-t)*p1+t*p2,t在[0,1]中

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

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

然而,一个大问题是匹配每个控制多边形的右点,特别是如果两条曲线的度数不同。您可以尝试在其中一个上进行度数提升以匹配另一个的度数,然后逐个将它们指定给彼此并进行插值


也许这有帮助…

我实际上指的是多边形,但平滑曲线的解决方案也适用。是的,我知道线性插值,但我要寻找的是一种算法,例如,将一组4个点映射到另一组7个点。