当前位置:   article > 正文

基于C#利用TPS网格变形修改人脸_c# 换脸

c# 换脸

目录
需求分析 1
必做任务 2
方案设计 2
(1)读入图片,以其中心为原点换算各像素点坐标 2
(4)选择插值方法(最近邻/双线性/双三次)并重新换算坐标 2
方案基本原理 2
旋转扭曲 2
畸变校正 3
插值方法 4
(1)最近邻插值 4
(2)双线性插值 4
(3)双三次插值 4
功能展示 5
选做任务 7
方案设计 7
方案基本原理 7
功能展示 8
误差分析 8
观测误差 8
舍入误差 9
方法误差 9
(1)最近邻插值 9
(2)双线性插值 9
(3)双三次插值 9
仿照双线性的分析方法有 10
总结 10
三种插值方式效果对比 10
反思与不足 12
需求分析
本次大作业包含必做和选做两项任务。
必做任务要求对给定图像(清华二校门)分别以最近邻、双线性和双三次插值方法实现旋转扭曲和畸变校正两种变换。其中旋转扭曲要求可以调整旋转角度和半径两个参数;畸变校正要求实现桶形和枕形两种畸变,同时可以调整半径。
选做任务需两张人脸图片,下面分别称为“待修改人脸”和“目标人脸”。分别给出两张脸上的68个关键点,本文转载自http://www.biyezuopin.vip/onews.asp?id=16779要求利用TPS网格变形把待修改人脸的关键点特征变成目标人脸的特征。注意此处TPS变形后得到的只是一个坐标映射关系,仍需要通过插值得到最终的“修改后人脸”,这里可以利用必做部分的函数。
必做任务
方案设计
必做的几个关键步骤如下:
(1)读入图片,以其中心为原点换算各像素点坐标
(2)选择变形方式(旋转扭曲或畸变校正)
(3)选择参数(旋转扭曲需选择旋转方向、角度、半径;畸变校正需选择桶形/枕形、半径)得到原图与变换后图片的坐标映射
(4)选择插值方法(最近邻/双线性/双三次)并重新换算坐标
算法核心为(3)(4),下面说明这两部分的原理。

运行环境:visual studio 2019

文件说明:
input文件夹:包含二校门图片和给定的face-images文件夹,请不要修改face-images文件夹。
output文件夹:一部分结果图片,包含二校门在不同插值方式下的旋转变换,在双线性插值下的两种畸变,选做以编号9图片为待修改人脸而以编号6图片为目标人脸的变换结果。
THU_GATE为工程文件。
THU_GATE.exe为可执行程序。

操作方法:
运行程序时,必做任务点击“选择图片”选取input文件夹中的THU.jpg,然后选择变换类型、参数及插值方式,生成图片后可以保存。选做任务点击“选择待修改图”按钮和“选择目标图按钮”分别在face-images文件夹中选择不同人脸图,然后选择插值方式并生成结果图。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号