c++ - 是否可以根据眼睛和嘴巴的位置确定面部的偏航、俯仰和滚动? (含图片)

标签 c++ ios objective-c math opencv

enter image description here

红点 = 左眼中心 (L)、右眼中心 (R)、嘴中心 (M)

紫色线 = 线 LR

红线 = L 和 R 中点的水平线

黄线 = 垂直线在 M.x 处与 LR 相交

蓝线 = LM 和 RM

绿线 = L 和 R 的 X 坐标之间的距离

根据这些数据,是否可以确定人脸的偏航、俯仰和滚动?

到目前为止我只有滚动:

Roll = 左右眼的角度差

知道 L、R 和 M 都相对移动,应该可以计算 2D 空间中的偏航和俯仰吧?

我的第一个想法是偏航可以计算为 M 的 X 坐标相对于 LR 的 x 坐标的距离(绿线)的比率

有什么想法吗?

注意:我用的是opencv

最佳答案

有一个函数叫做 solvePnP它可以从相机坐标系计算物体的平移和旋转。你需要所述物体的3D模型,即物体上点的3D位置,并在图片上找到这些点。

关于c++ - 是否可以根据眼睛和嘴巴的位置确定面部的偏航、俯仰和滚动? (含图片),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15707122/

相关文章:

c++ - 运算符重载 'operator()'

ios - 单击 Google 控制按钮时在 Google map 应用程序中打开.. Swift 4

iphone - 从纵向切换到横向时背景图像未调整大小

iOS 音序器速度 slider 导致应用程序崩溃

iPhone iOS 在呈现图形时如何处理核心数据中的时间间隔?

C++11 声明工厂是基类的友元

c++ - 重新哈希由列表 vector 组成的哈希表 C++

ios - 如何访问Facebook帐户的好友列表

ios - 在 Objective-C 项目中使用 Swift 库

c++ - 如果全局函数使用非局部变量,那么它是闭包是否正确?