我根据包含对象的图像计算了pixel
的对象大小。我想在现实世界中测量对象大小。有没有办法找出倍增因子来衡量实际尺寸?我目前正在使用python
进行实施。
答案 0 :(得分:5)
通常,您将使用相机通过镜头将3维场景投影到2维传感器上来获取图像。垂直(高度)投影如下图所示(我假设直线镜头):
您将感兴趣对象的高度(以像素为单位)表示为150像素:
您说图像尺寸的总高度为800像素,假设这是传感器分辨率:
您有兴趣找到物体 H_ {obj} 的公制系统中的实际高度,该物体距离相机的距离 D 。
以弧度表示角度,我们可以建立以下关系:
其中 f 是镜头的焦距。
但您已经以像素表示了h_ {obj},并且您希望在公制系统中表达H_ {obj}。所以,让我们先从像素移动到毫米。
让我们假设您不知道传感器高度,因此我们暂时将其保留为变量。重新排列,表示焦距为毫米(mm)并代入上一个等式,我们有:
\ alpha表示相机的垂直视野(因为我们使用传感器高度),这是通常为相机和相机提供的参数。镜头计算。
通常以度为单位给出,所以我们只需将其转换为弧度。
视野是您缺少的参数,可以完成您的计算。为了完成这个例子,我们假设它是90º:
您现在用来表达距离 D 的单位系统将定义用于表示h_ {obj}的单位。
另一种方法是,给定一个视野,并假设一个直线透镜,你可以计算距离相机一定距离的像素高度和像素宽度。
距离D处的垂直分辨率
有关视野的更多信息: