我必须在面部图像上模拟面部表情(比如张开嘴巴)。为此我首先提取了面部特征点,找到了唇角。现在我需要通过向下移动点来使图像变形。
在上图中,我需要将点 ( 2 ) 和 ( 3 ) 分别向左和向右移动一定距离。点 ( 18 ) 和 ( 19 ) 一点点向下。这样我就会得到张嘴一样的表情。
我的问题:
1)按照上面的方式进行面部表情模拟是否正确?
2)如果正确如何在opencv中移动点并创建新图像?
最佳答案
人们在该领域使用的一项相当近期的调查和技术类(class)如下: http://old.siggraph.org/publications/2006cn/course30.pdf
长话短说:博士。在任何绝对意义上,都没有“正确”的方法来做到这一点。您需要以可计算的方式定义您的目标。然后找出除了图像数据本身之外还需要哪些其他(先验)信息。在您决定需要做什么之前摆弄“纹理变形”或其他插值方案是浪费时间。
您提到“像张开的嘴巴一样的表情”,我将其理解为您想要生成一张与拍摄对象张开嘴巴时真实面孔相似的图像。您发现的标记显然没有提供足够的信息——特别是,它们没有表达任何“嘴巴”的概念。事实上,这个概念在图像中无处可寻。因此,严格来说,除非您向其中投入更多信息,否则您的任务无法解决。
我建议你看看上面指出的论文,再重新考虑你的问题。
关于animation - 如何在opencv/face distortion中重新定位人脸点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15061821/