获得某人脸部的真实大小

时间:2018-03-20 09:24:40

标签: ios opencv

我正在开发一个iOS应用程序,我想要获得用户真实面部的大小,以便我可以推荐他/她合适的(匹配的)大小的眼镜。

我使用 OpenCV 检测到用户的脸部,并获得了眼睛,鼻子,脸部,等各种尺寸。

但我希望从这个尺寸开始的实际尺寸(即以毫米为单位的像素)。

我搜索了很多,但无法获得符合我要求的任何解决方案。

有谁知道如何计算某人脸部的实际尺寸(即以毫米为单位)?

谢谢。

2 个答案:

答案 0 :(得分:3)

我认为有两种方法可以做到。

  1. 您可以在图片中使用已知尺寸的对象进行比较。该物体也必须与相机处于与脸部相同(或已知)的距离。

  2. 如果相机支持深度,您可以从相机获取与脸部的距离,并使用它来计算脸部的实际尺寸。此选项目前仅适用于iPhone X.深度数据的准确性可能会有所不同,因此我不确定它对您的效果如何。

  3. Read more about capturing depth data here

    Read more on depth data accuracy here

答案 1 :(得分:1)

如果图像中没有尺寸参考点,我想真的无法确定尺寸。您需要至少一个与您的图片相关的长度才能获得某种结果。

也就是说,这对普通物体的图像只能100%准确地工作,因为图像中的物体看起来更小(例如here)。 您需要从不同侧面拍摄多张照片(所有照片都有尺寸参考),并且需要进行大量的计算。

相机的焦距也会扭曲您的图像,使得精确测量更加困难(参见comparision of different focal lengths with different distances to the face)。