Python 确定从网络摄像头捕获的面部距离

Python 确定从网络摄像头捕获的面部距离,python,numpy,opencv,math,Python,Numpy,Opencv,Math,我有一张由网络摄像头拍摄的人脸照片,我想知道检测到的人脸与网络摄像头的距离 为了达到同样的效果,我尝试寻找由两个眼睛中心和一个鼻尖组成的三角形区域,并观察当我离开相机一段已知距离时该区域的变化。然而,我的尝试并不成功 需要帮助计算面部与网络摄像头的距离。请注意,我将使用的任何方法都应该是独立于人的,因为我无法控制那些将在摄像机前行走的人我尝试构建人脸的特征三角形,如下所示: 然后我使用了以下等式: 其中“d”是距离,ax和ay是相机参数。和分别是捕获人脸和真实人脸中的特征角区域 假设在距离(

我有一张由网络摄像头拍摄的人脸照片,我想知道检测到的人脸与网络摄像头的距离

为了达到同样的效果,我尝试寻找由两个眼睛中心和一个鼻尖组成的三角形区域,并观察当我离开相机一段已知距离时该区域的变化。然而,我的尝试并不成功


需要帮助计算面部与网络摄像头的距离。请注意,我将使用的任何方法都应该是独立于人的,因为我无法控制那些将在摄像机前行走的人

我尝试构建人脸的特征三角形,如下所示:

然后我使用了以下等式:

其中“d”是距离,ax和ay是相机参数。和分别是捕获人脸和真实人脸中的特征角区域

假设在距离(d1)处检测到人脸并进行计算。现在,我已经离开相机5个CMS,并认为距离为(D2),并注意三角形面积形成在捕获的脸。 使用上述两个方程,ax、ay和为常数,并按如下方式求解:

。在这里,我还假设在现实世界中,特征三角形的面积是常数,人与人之间没有变化

现在我们有了K值,我们可以使用以下等式计算检测到的人脸的距离:


请让我知道这种方法是否有意义

你知道每像素厘米数取决于物体离相机的距离,对吗?@Eric在这种情况下,物体离相机的距离是未知的。事实上,这正是我需要找到的,作为最终结果,我们可以从分享你所知道的所有信息开始。。。你有照片吗?图片中是否有已知尺寸的物体可用于校准?镜头的焦距是固定的/已知的吗?@MarkSetchell我用完整的信息编辑了这个问题。为了回答你的问题,我不能计算出脸的大小,因为我不确定在什么距离谁能检测到。相机的焦距是固定的,虽然“应该是独立于人的”——这是不可能的——你必须假设每个人的脸都是相同大小的