本文介绍纯理论部分,至于FPGA实现就不多说了。
常见的质心算法有以下几种,可以应用于不同的场合。
(1)普通质心算法
其中
为二维图像上每个像素点所接收到的光强,该算法适用于没有背景噪声,背景噪声一致或信噪比较高的情况。
(2) 强加权质心算法
其原理是将光斑中心较近的部分区域像素值增强,使得对光斑影响较大点的影响力进一步加大,提高质心探测精度,即使光斑形状不近似高斯分布,该方法依然能较准确的探测光斑质心。
(3)阈值质心算法
先对图像进行阈值分割,再使用COG算法,此时的质心探测误差要小于只用COG算法时的质心探测误差。该算法关键在阈值的选取。选取阈值的方法有很多。常用的有固定值阈值,经验阈值和直方图阈值。目前应用较广泛的是自适应阈值。自适应阈值具有阈值随图像的变化而变化以达到最好效果的优点。自适应阈值中最常用的是小波自适应阈值。该方法可以很好的去除高斯白噪声。但传统的小波变换在信号降噪中计算不足,所以可以将小波降噪算法进行改进。
图像质心即图像灰度的重心,设图像有i,j两个方向,m,n分别为i,j方向像素的数量,(,)gij为像素点(,)ij处的灰度值,则图像质心位置坐标表达
单点激光测距原理
单点激光测距原理图如图所示,
激光头Laser与摄像头在同一水平线(称为基准线)上,其距离为s,摄像头焦距为f,激光头与基准线的夹角为β。激光头Laser与摄像头在同一水平线(称为基准线)上。假设目标物体Object在点状激光器的照射下,反射回摄像头成像平面的位置为点P。
由几何知识可作相似三角形,激光头、摄像头与目标物体组成的三角形,相似于摄像头、成像点P与辅助点P′。
设 PP′=x。则由相似三角形可得:
其中 X可分为两部分计算:
其中pixelSize是像素单位大小, position是成像的像素坐标相对于成像中心的位置。
最后,可求得距离d:
线状激光三角测距原理
将激光光条的中心点P1、成像点P1′、摄像头、激光头作为基准面,中心点P1就符合单点结构光测距。对于任一点(该点不在基准面上)
如上图所示,将成像平面镜像到另一侧。
其中P1′,P2′和分别是P1和P2的成像位置,对于点P2、成像点P2′、摄像头、激光头所形成的平面,与基准面存在夹角θ,也符合单点结构光测距。此时的焦距为f′,x的几何意义同单点激光测距原理类似。
如上图所示,将成像平面镜像到另一侧。其中P1′,P2′和分别是P1和P2的成像位置,
由相似三角形原理:
d′是P2与baseline所成平面上P2到底边的高(类比于单点激光测距原理中的q)。同样x可分为两部分计算d′是P2与baseline所成平面上P2到底边的高(类比于单点激光测距原理中的q)。
同样x可分为两部分计算
上述中的平面与基准面的夹角为θ上述中的平面与基准面的夹角为θ
可求得f′:可求得f′:
代入式中可求得d.
本文的参考资料来自以下链接
https://wenku.baidu.com/view/d1529dbef121dd36a32d8272.html?sxts=1547103591980
另附 matlab2018云盘链接
密码 lw68 pan.baidu.com/s/11NVkjPBX3qYmCNQuC_hX0Q