本帖最后由 神奇的鱼 于 2018-12-6 23:44 编辑
来公司之初十分幸运的见识到了咱们公司正在研发的图形识别器,感觉十分的神奇。这不禁让我想到在来公司不久前,我读到的一篇博文,讲的是“自制低成本3d扫描测距仪”,文中介绍的3d扫描仪价格十分平民化,而且在一定程度上精度也是十分感人。废话不多说先上几张图,让大家能有一个直观的印象。 file:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image001.jpg 这幅图是原作者利用扫描仪扫描的作者房间的一角,哈哈如果不仔细看还真看不出这是什么鬼。 file:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image003.jpg 这幅图我们能看出来吧,这是原作者利用扫描仪扫描的自己,而下面这幅图是扫描仪实物。 file:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg
下面来简单的说一下,扫描仪的原理: 扫描仪可以获取各转角情况下目标物体扫描截面到扫描仪的距离,由于这类数据在可视化后看起来像是由很多小点组成的云团,因此常被称之为:点云(Point Clould)。 在我们获取点云之后可以利用pcl(Point Cloud Library),MATLAB等查看点云,或者对点云进行渲染,渲染之后的点云就类似我们在前面看到的图片。 此设备可以用于:零部件或者物体的3D建模 、进行简单的地图测绘,机器人的定位导航(这也是本人最感兴趣的)等。 使用单点激光进行三角测距:
file:///C:/Users/Administrator/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg 图中展现了测量对象Object距离激光器的距离d的示意图。图中的Imager部分是对摄 像头的一种抽象表达(针孔摄像机模型)。标有s的线段实际可以是一个固定摄像头和激光器的平面。摄像头成像平面与该固定平面平行,而激光器发出的射线与该平面夹角beta仅存在于图中的视图中。 要测量距离d,首先要求激光射线射到了Object上,他的反射光在摄像头的感光平面上成像。对于不同远近的物体,当被测距激光照射后,摄像头上的成像光点的x值将变化。这里涉及到如下几个参数 Beta:激光器夹角 s:激光器中心与摄像头中心点距离 f:摄像头的焦距 如果这些参数在测距设备安装后不再改变(固定)且数值已知,则物体距离激光器距离可由如下公式求得: q=fs/x .... (1) d=q/sin(beta).... (2) 其中,x是测量中唯一需要获得的变量。它的含义是待测物体上激光光点在摄像头感光元件(如CMOS)上的成像到一侧边缘的距离。该距离可以通过在摄像头画面中查找并计算激光点中心位置的像素坐标来求得。对于示意图式(1)求出了目标物体与摄像头-激光器平面的垂直距离(实际上对于大尺度测距,该值可以近似认为是实际距离)。这一步就是三角测距的所有内容了,非常简单. 今天和大家先分享到这里此贴未完待续,请大家持续关注。
|