基于嵌入式ARM9的墙面平整度检测仪研究与实现
分辨率,采集一幅1600*1200的YUV图像,将此图像转换为1600*1200的RGB888图像,调用算法处理RGB888图像,然后将处理后的图像压缩为320*240的RGB888,将压缩后的图像转换为RGB565,再旋转90度显示在LCD上,此时通过观察LCD上的显示结果就可知道激光线照射到的墙面部分的平整度情况了。观察记录完检测结果后按下“开始测量”按钮即可进入视频采集模式,选取合适“场景”后再次按下“开始测量”按钮即可进入下次检测。检测软件的总体框架如图3所示。
视频的采集就是读取USB摄像头获得的视频数据流,交给处理器处理。拍照模式是检测系统中主要功能的实现部分,进入该模式后,系统首先更改摄像头的分辨率,采集一幅1600*1200的YUV图像。根据YUV和RGB的转换关系,将图像转换为RGB888。然后执行以下过程:
1)遍历图像的每个像素点,根据既定阈值找出激光线的起始坐标,将激光线始末点之间的距离分为N段,为后续分段处理做准备;
2)定义二维数组dealpt[20][1600],存放激光线上激光像素的坐标;
3)利用最小二乘法拟合激光线,确定激光线的系数a、截距b,得到激光线y=ax+b,将拟合的激光线标成纯红(R=255,G=0,B=0);
4)求每一列中拟合激光线上激光点的y轴坐标与实际激光线上该列所有激光点y轴坐标差的和,以段为单位,计算第L段上所有坐标差的总和difn[L];
5)根据difn[L]绝对值的大小,就能知道第L段内激光线的曲直程度,从而可以确定第L段内墙面的凹凸程度。difn[L]绝对值越大,说明第L段内凹凸程度越大,我们就将此段内的拟合激光线标黑的程度越大,当difn[L]超过某一阈值,则将该段内的拟合激光线标成纯黑(R=0,G=0,B=0)。
以上处理过程完成后,使用下采样方式缩小图片,得到320*240的RGB888图像,然后再转换为RGB565,旋转90度后显示在LCD上,通过LCD上显示的内容,即可判断墙面相应部分的凹凸情况。
3.4 激光图像检测算法的改进
上述算法在正常光照情况下能得到很好的检测效果,但在极端的光照情况下(如周围光照特别亮或者特别暗的情况)显示效果却不尽人意。光照太强,墙面背景较亮,相对情况下激光线亮度就会变弱,就很难将激光线提取出来;光线太弱,墙面背景较暗,此时激光线就会出现过饱和,激光线上像素点的R、G、B分量都趋于255,这时应用以上算法就无法将激光线提取出来;如果光照不是自然光,如光照为蓝光或者绿光,这样也会影响激光线的提取,如果光照为红光,且光强足够大,则激光线就会完全无法提取。
为了准确地将激光线像素点从激光图像中提取出来,我们要根据不同的光照环境,确定不同的激光提取阈值条件,为此我们提出了改进算法,即在图像预处理前先求得整个图像R、G、B分量的平均值averR、averG、averB,然后根据averR、averG、averB分情况处理激光图像,这样就能很好地将激光线从激光图像中提取出来,极大地提升了系统的处理能力和适应能力,使墙面检测仪可以适用于各种不同的光照环境中。
4 检测结果分析
4.1 墙面不同凹凸情况下的检测结果
国家墙面平整度验收标准为:用两米的靠尺检测墙面,平整度偏差在3 mm以内就算合格,因此我们的墙面平整度必须检测出3 mm以内的凹凸才算合格。如图4(a)中的木板厚度约15 mm,必然能检测出,因此标黑,而木板下方用靠尺检测凹凸最大的地方为2 mm,本系统也能检测出,所以当墙面有高凸起时系统不但能检测出高凸起部分同时也能检测出凹凸值不大的地方。图4(b)、(c)、(d)凹凸值((;CI))最大分别为3.5 mm、2 mm、0.4 mm,可以看出这些凹凸位置本系统都能检测出,当凹凸程度小于0.4 mm时基本就检测不出了,因此在正常光照情况下,本系统可以检测出凹凸程度大于0.4mm的凹凸位置,其精度远远高于国家规定的标准。
4.2 特殊光照下的检测结果
由于对算法进行了改进,因此本系统也可以检测特殊光照下的墙面,本实验以绿光为实验。
如图5所示,其中(a)、(b)、(c)、(d)检测位置的凹凸值最大分别为3.5 mm、2 mm、1.5 mm、0.8 mm。
由结果可以看出,由于改进了算法,使得检测仪能很好的检测出特殊光照下的墙面的平整度,且检测精度至少为0.8 mm。
5 结论
随着个人家庭装修的流行和房屋验收标准的提高,房屋墙面平整度检测设备必然向智能化、便携化、易操作、价格便宜等方向发展。本文就是研究并实现了一种基于ARM9的嵌入式墙面平整度手持检测设备。并且通过检测结果的分析,证明了本系统具有很好的检测效果。需要指出的是,本系统中照射到墙面的激光线为垂直方向,如果激光线为水平方向,则无法检测。而且系统设计过程中没
仪器仪表技术 ARM9 嵌入式Linux 墙面平整度 激光扫描 相关文章:
- 基于ARM9的高速数据采集系统的实现(03-04)
- 基于嵌入式Linux的磁场测量系统(03-26)
- 基于嵌入式Windows CE5.0的无线监控系统研究(03-26)
- 基于ARM9和3G网络的社区温湿度远程监测系统研究(10-18)
- 基于嵌入式系统的远程参数测量的方法和实现(10-31)
- 基于ARM9和USB摄像头的网络视频采集系统设计(03-30)