目录
一、需求分析 3
二、扭曲变形方式 4
1、旋转扭曲 4
2、畸变扭曲 5
三、插值 7
1、最近邻插值 7
2、双线性插值 7
3、双三次插值 9
四、人脸变形 9
1、TPS 薄板样条插值 10
2、求取参数矩阵 W 11
3、使用 W 求取结果图 11
4、切除黑边 11
五、误差分析 13
1、舍入误差 13
2、方法误差 13
六、项目结果 14
七、总结 16
八、参考资料 17
一、需求分析
1、必做任务
必做任务要求用最近邻、双线性、双三次插值方法来实现旋转扭曲和畸变扭曲两种图像扭曲结果。
用户可以任意选择三种插值方式中的任意一种,也可以任意选择对图像进行哪种扭曲,且能很方便地设置扭曲参数。
2、选做任务
助教提供了 9 张图片,每张图片都有 68 个特征点,这些特征点的坐标保存在 txt
文件里。
任务要求对于任意两张图片,使用 TPS 薄板样条插值方法,求出一个从目标图像坐标点到原图像坐标点的映射,使得经过这个映射后原图像中的脸型变换为目标图像中的脸型。
用户可以任意选择 9 张图片中的两张图片作为原图片和目标图片,并使用三种插值方法中的任意一种来得到变换后的图像。
变换结果可能会出现较多黑边,有效结果面积过小。为了改善用户体验,我增加了切除黑边的功能,将变换结果旋转到正方向并拉伸到合适大小,再切除图片黑边, 效果如下。