房子的墙面平整度是衡量房子建筑质量的一项重要方针。现有的墙面平整度检测办法要么操作不便利且功率低下,如靠尺;要么检测仪器自身比较复杂,不易操作,需求专业的操作技巧,如运用“百分表打点”检测;或许仪器自身比较贵重,无法广泛推行和运用,如运用无协作方针电子全站仪检测。所以研讨一种原理简略,操作便利,价格便宜,体积小,便携式的手持移动墙面平整度检测设备对错常有必要且具必定商业价值的。
1 体系的整体规划
体系的方针是:规划一个嵌入式手持设备,完结对墙面平整度的检测。详细的完结进程为:USB摄像头以小分辨率(320*240)收集动态视频,旋转后直接显现在LCD上,经过调查LCD上的动态显现内容确认所选场景是否满意要求。待呈现满意要求的场景后开端丈量,此刻USB摄像头以大分辨率(1 600*1 200)收集一幅静态图片传给CPU处理,最终CPU将处理的成果显现在LCD上。体系的整体结构如图1所示。
2 体系硬件渠道的构建
2.1 微处理器及存储模块
本体系的微处理器选用飞思卡尔公司的MCIMX283。该处理器依据ARM926构架,主频最高达450MHz;选用NANDFlash发动,其作业电压规模是2.7~3.6V,容量为128M×8bit,
能满意体系和各类数据的存储要求。选用H5P92562GFR—s6c运转操作体系和使用程序,该芯片为DDR2 SDRAM,bank数为4,数据宽度2 bytes,容量巨细为32MB。与传统的SDRAM比较,DDR2 SDRAM存取速度有了极大进步,但作业电压却很低,因而运转速度和功耗有很大改善。微处理器和DDR2、NAND Flash的衔接示意图如图2所示。
2.2 电源、时钟和复位模块
MCDMX283内部集成了电源办理单元(PMU),外部只需求供给规则的电源(5V或许4.2V)就可发生中心板需求的各种电压。但MCIMX283内部电源办理单元输出才干有限,因而PMU所发生的3.3 V、1.8 V等电源除了给DDR2、NANDFlash供电外没有给其他外围设备运用。其他外围设备的供电可由外部供电经过LDO转化为所需电压以供运用。
此外,体系中选用晶体振荡器发生时钟源信号,复位模块选用手动复位。
2.3 USB和LCD接口电路模块
USB接口按主从联系可分为USB Host和USB OTG。USB Host用来挂载Deviec设备,本体系中是挂载USB摄像头,以完结视频和图画的收集;USB OTG用以和PC机通讯,完结PC机向NAND Flash下载内核、根文件体系等功用。
LCD用来显现USB摄像头收集的视频数据和处理后的图画。MCIMX283集成LCD控制器和接触屏控制器,支撑24位的RGB和24位体系形式,一起支撑四线电阻接触屏。本体系中LCD只用作显现,不需求接触功用,一起为了充分运用IO资源,体系选用16位RGB显现。
3 体系软件规划
体系软件规划包含软件渠道的建立和检测软件的完结。软件渠道的建立首要完结嵌入式操作体系的移植和首要模块的驱动移植,检测软件的完结即检测算法的完结,是检测体系的中心部分。
3.1 嵌入式Linux操作体系的移植
嵌入式操作体系是嵌入式体系的软件根底,是使用程序开发的软件渠道。关于一个嵌入式Linux体系,体系上电后经过加载Bootloader、发动Linux内核、挂载根文件体系3个进程后,用户程序才干正常运转,并且这3个进程是缺一不行的。
3.2 首要模块驱动的移植
驱动的移植是嵌入式体系不行短少的进程,本体系中首要完结的驱动移植有检测按钮驱动的移植、USB摄像头驱动的移植、LCD驱动的移植。
首要要移植按键按钮的驱动,本体系中咱们运用一个GPIO引脚来模仿开关按钮。选定引脚后先将该引脚装备成GPIO功用,生成引脚的特点文件,然后编译mykey.c文件,将按键驱动刺进内核中,完结按键驱动的移植。
因为本体系运用Linux2.6.35版别,该版别支撑UVC类设备,而咱们选用的USB摄像头为XHV57-NBL60-V1.0,支撑UVC规范,所以咱们不需求编写驱动,只是在装备内核时将UVC静态编译进内核即可。
本体系选用的2.8寸LCD不带驱动板,因而不但要装备LCD控制器的参数,还要经过SPI初始化LCD寄存器。依据LCD时序图,设置LCD控制器的输出时序,再依据体系需求和相关手册,设置LCD寄存器的值,这样上电后,LCD就能作业在预订状态下。
3.3 检测软件的完结
激光检测体系的整体规划分为两部分:视频收集形式和图画收集形式。上电复位后体系进入视频收集形式,摄像头收集320*240的YUV422视频帧图画,将收集到的YUV帧图画转化为RGB565,旋转90度转为240*320,然后显现到LCD上。此刻经过调查LCD上显现的动态图画(即视频)即可确认摄像头所选“场景”是否满意要求。待所选“场景”满意要求后按下“开端丈量”按钮,即可进入摄影形式。进入摄影形式后,体系修正摄像头分辨率,收集一幅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的嵌入式墙面平整度手持检测设备。并且经过检测成果的剖析,证明了本体系具有很好的检测作用。需求指出的是,本体系中照射到墙面的激光线为笔直方向,假如激光线为水平方向,则无法检测。并且体系规划进程中没有归纳考虑功能问题,导致主芯片发热过高,以上两点是往后亟待解决的问题。