简单的单目测距原理
单目测距,即用一个摄像头实现测距。一个简单的原理是利用小孔成像,原理图如下:
其中
P
P
P是图片上物体的像素宽度,
F
F
F是焦距,
D
D
D是物体距离摄像头的实际距离,
W
W
W是物体实际宽度。
根据相似三角形原理,可得
D
W
=
F
P
\frac{D}{W} = \frac{F}{P}
WD=PF
则物体距摄像头的距离
D
=
W
∗
F
P
D = W*\frac{F}{P}
D=W∗PF
其中,
W
W
W可以测量得到,
P
P
P通过图片也可以获得,
F
F
F焦距是摄像头的参数,这样就可以计算出物体的距离了。
如果焦距未知,可以先用一张图片计算出焦距,即
F
=
P
∗
D
W
F = P*\frac{D}{W}
F=P∗WD
需要先实际测量物体的距离
D
D
D,代入即可得到焦距
F
F
F。
基于Yolov5实现简单的单目测距效果展示
一个简单的demo,识别杯子并测距。杯子宽
15
c
m
15cm
15cm,高
9
c
m
9cm
9cm。
首先用
20
c
m
20cm
20cm距离的图片作为输入,计算出摄像头焦距。
实际测量距离20cm |
---|
下面是预测结果:
实际距离30cm |
---|
实际距离40cm |
---|
实际距离50cm |
---|
实际距离60cm |
---|
实际距离70cm |
---|
实际距离80cm |
---|
实际距离90cm |
---|
参考资料
https://blog.csdn.net/weixin_41695564/article/details/80454055