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