我已经苦恼了一个星期,无法将非正面的面旋转到正面,就像这张image图片中的左侧面到右侧面那样。
1)我使用了learnopencv网站上的delaunay教程,获取了左脸的所有三角形(大约138个三角形),如下所示:
...
triangle num 4: [100, 383] | [120, 374] | [112, 385]
triangle num 5: [120, 374] | [100, 383] | [92, 345]
triangle num 6: [136, 396] | [137, 379] | [151, 394]
triangle num 7: [137, 379] | [136, 396] | [118, 395]
triangle num 8: [92, 345] | [86, 414] | [80, 451]
triangle num 9: [86, 414] | [92, 345] | [100, 383]
triangle num 10: [86, 414] | [100, 383] | [118, 395]
triangle num 11: [116, 336] | [120, 374] | [92, 345]
triangle num 12: [120, 374] | [116, 336] | [133, 344]
...
2). 还需要使用这个库:https://github.com/chili-epfl/attention-tracker(可以估计头部姿态)来获取左侧脸部的头部姿态的4x4矩阵变换,该矩阵似乎是opencv中Rodrigues
函数的结果。
0.659585 -0.749291 -0.0592507 0.0591621
-0.0327269 -0.107385 0.993679 -0.00523744
-0.750917 -0.653477 -0.0953513 -0.280204
0 0 0 1
所以我不知道接下来该怎么做,才能用步骤2的4x4矩阵旋转步骤1中的所有三角形来得到右面的结果。请帮忙!