【算法原理】
图像变形技术是指将一副图像A平滑地变换为另一幅图像B的方法,它实质上是将原图像平滑地变换到目标图像的一种数学变换。
图像变形的思路与技术方案有多种,其中有一个重要分支是Morphing技术。其思想是指定一个变换,该变换把第一幅图像变形成为第二幅图像。它的逆变换把第二幅图像变形为第一幅图像。由变形而生成的图像序列中,前面部分很象第一幅原始图像,中间部分既象第一幅原始图像又象第二幅图像,后面部分则很象第二幅图像。
图像变形不但是图像在空间域上的变换,同时也是在时间域上的变换。利用图像变形算法产生图像A逐渐变换到图像B的过程中的每一“祯”图像,并将由变形而生成的图像序列生成一个视频文件(如AVI格式)。
设图像A与B的空间域描述函数为f(x,y)和g(x,y),其中(x,y)表示像素点的位置,而f(x,y)和g(x,y)则表示该位置像素点的值(可以是灰度值或RGB色彩值)。
每次变形变换产生的“一祯”图像是A图像和B图像的线性组合: h(x,y)=(1-t)f(x,y)+tg(x,y),其中t表示经过变换的时间。
这个公式即是图像变形技术的基础。需要注意的是,不能将像素点值直接相加,而应该将它的RGB分量求出后(灰度图像的RGB分量值是互相相等的),再利用上面的公式分别计算新像素点的RGB分量并合成为新像素点的值。Matlab中提供了一个名为imlincomb的函数,它可以实现多幅图像的线性组合,该函数的实现中考虑了上述分量的计算问题。它的原形为:z=imlinecomb(k1,a1,k2,a2,k3,