我正在开发一个iOS应用程序,我想要获得用户真实面部的大小,以便我可以推荐他/她合适的(匹配的)大小的眼镜。
我使用 OpenCV 检测到用户的脸部,并获得了眼睛,鼻子,脸部,等各种尺寸。
但我希望从这个尺寸开始的实际尺寸(即以毫米为单位的像素)。
我搜索了很多,但无法获得符合我要求的任何解决方案。
有谁知道如何计算某人脸部的实际尺寸(即以毫米为单位)?
谢谢。
答案 0 :(得分:3)
我认为有两种方法可以做到。
您可以在图片中使用已知尺寸的对象进行比较。该物体也必须与相机处于与脸部相同(或已知)的距离。
如果相机支持深度,您可以从相机获取与脸部的距离,并使用它来计算脸部的实际尺寸。此选项目前仅适用于iPhone X.深度数据的准确性可能会有所不同,因此我不确定它对您的效果如何。
答案 1 :(得分:1)
如果图像中没有尺寸参考点,我想真的无法确定尺寸。您需要至少一个与您的图片相关的长度才能获得某种结果。
也就是说,这对普通物体的图像只能100%准确地工作,因为图像中的物体看起来更小(例如here)。 您需要从不同侧面拍摄多张照片(所有照片都有尺寸参考),并且需要进行大量的计算。
相机的焦距也会扭曲您的图像,使得精确测量更加困难(参见comparision of different focal lengths with different distances to the face)。