OpenCV计算与已知大小物体的距离
OpenCV calculate distance from object with known size
是否可以计算已知大小的物体的距离?
我想用一个直径为 7 厘米的球来做这个。现在,对于第一个计算,我将他放在距网络摄像头 30 厘米的位置,第二个是 50 厘米。
是否有线性函数或公式以某种方式计算距离?
让我们说在第一个测量中它有一个 6 像素的直径,而在第二个测量中只有 4 个像素。必须有一个公式吗?
此致
在光学方案中,您有两个相似的直角三角形,其边为 F(objective 焦距)、PixelSize、Distance 和 Size
Distance / Size = F / PixelSize
所以有一些已知的Distance0的参数,你可以得到F(以像素为单位,将其视为某个常数)
F = Distance0 * PixelSize0 / Size0
并用它来计算未知距离(直到缩放改变)
Distance = F * Size / PixelSize
(请注意,您可以改变对象大小)
是否可以计算已知大小的物体的距离? 我想用一个直径为 7 厘米的球来做这个。现在,对于第一个计算,我将他放在距网络摄像头 30 厘米的位置,第二个是 50 厘米。 是否有线性函数或公式以某种方式计算距离? 让我们说在第一个测量中它有一个 6 像素的直径,而在第二个测量中只有 4 个像素。必须有一个公式吗?
此致
在光学方案中,您有两个相似的直角三角形,其边为 F(objective 焦距)、PixelSize、Distance 和 Size
Distance / Size = F / PixelSize
所以有一些已知的Distance0的参数,你可以得到F(以像素为单位,将其视为某个常数)
F = Distance0 * PixelSize0 / Size0
并用它来计算未知距离(直到缩放改变)
Distance = F * Size / PixelSize
(请注意,您可以改变对象大小)