2017-06-02 490 views
0

是否可以计算已知尺寸物体的距离? 我想用7厘米直径的球做这个。现在第一次计算,我会把他放在30厘米距离的网络摄像头和第二个50厘米。 是否有线性函数或公式来计算距离? 可以说,在第一个测量中它有一个6像素的直径,第二个只有4个。必须有这样的公式吗?OpenCV计算已知尺寸物体的距离

问候

+0

是的,这已经说明[前在这里。(https://stackoverflow.com/questions/14038002/opencv-how-to-calculate - 相机与对象之间的距离 - 使用图像) – Magnus

+0

我需要焦距吗?还是有其他方式没有焦点长度? – potu1304

回答

0

在光学方案,您有两个类似直角三角形边F(物镜焦距),PixelSize,距离和尺寸

Distance/Size = F/PixelSize 

对一些已知Distance0因此,有参数,你可以得到F(以像素为单位,将其视为某个常数)

F = Distance0 * PixelSize0/Size0 

,并用它来计算未知的远方(直到缩放变化)

Distance = F * Size/PixelSize 

(请注意,你可以改变物体的大小)

+0

非常感谢,现在有用! :d – potu1304