MicroMV 距离解算

来自Microduino Wikipedia
Radiumray9@gmail.com讨论 | 贡献2018年5月16日 (三) 10:31的版本 基本原理
跳转至: 导航搜索

基本原理

  • 本算法依靠近大远小的透视原理,使用物体在画面中的像素宽度结合三角函数计算出物体到摄像头距离。(镜头畸变会影响计算精度)
MicroMVdistanceCaculate1.png

关键参数

(其中A、C、F是已知常量)

摄像头视野范围A度
物体占视野B度
物体真实宽度C毫米
物体距离摄像头D毫米
物体占画面像素宽度E
摄像头分辨率宽度F
MicroMVdistanceCaculate2.png

基础距离算法

已知ACEF,首先求出物体占视野角度B

根据:𝐵/𝐴 = 𝐸/𝐹 得到:B=(𝐴∗𝐸)/𝐹

然后求出距离D

根据:tan⁡〖𝐵/2〗 = (𝐶/2)/𝐷 得到:D = 𝐶/(2 tan⁡〖(𝐴∗𝐸)/2𝐹〗 )

MicroMVdistanceCaculate3.png

综合校准算法

已知物体在摄像头画面中只会变小(被部分遮挡)不会变大,所以在计算阶段分别根据物体的宽度和高度计算出两个距离值。当物体像素宽高比与真实宽高比近似时,两个距离值同样可靠;当物体像素宽高比明显大于真实宽高比时,宽度计算得出的距离值更加可靠;当物体像素宽高比明显小于真实宽高比时,高度计算得出的距离值更加可靠

MicroMVdistanceCaculate4.png

返回MicroMV目录页面