您的位置 首页 数字

根据Linux操作体系和ARM完成裂纹实时丈量体系的规划

基于Linux操作系统和ARM实现裂纹实时测量系统的设计-在建筑业中,评价墙体裂纹,地面裂纹是评价房屋质量的一项重要指标。一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。执行装置可以很简单,如手机上的一个微小型的电机,当手机处于震动接收状态时打开;也可以很复杂,如SONY 智能机器狗,上面集成了多个微小型控制电机和多种传感器,从而可以执行各种复杂的动作和感受各种状态信息。嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专用设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部

引 言

在建筑业中,点评墙体裂纹,地上裂纹是点评房子质量的一项重要目标。一个嵌入式体系设备一般都由嵌入式核算机体系和履行设备组成,嵌入式核算机体系是整个嵌入式体系的中心,由硬件层、中间层、体系软件层和运用软件层组成。履行设备也称为被控目标,它能够承受嵌入式核算机体系宣布的操控指令,履行所规则的操作或使命。履行设备能够很简单,如手机上的一个细小型的电机,当手机处于轰动接纳状况时翻开;也能够很杂乱,如SONY 智能机器狗,上面集成了多个细小型操控电机和多种传感器,然后能够履行各种杂乱的动作和感触各种状况信息。嵌入式体系硬件层的中心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多作业在为特定用户群所专用规划的体系中,它将通用CPU许多由板卡完结的使命集成在芯片内部,然后有利于嵌入式体系在设计时趋于小型化,一起还具有很高的功率和可靠性。

本研讨将问题划分为以下两个部分:

(1)裂纹宽度丈量算法;

(2)将以上所开发软件移植到ARM开发板,并优化算法进步软件运转速度。

1 裂纹宽度丈量算法

核算裂缝宽度关键是要运用图画切割技能得到裂缝的真实边际。尽管已有文献介绍了多种切割办法,可是未见有针对裂缝测验仪收集到的裂缝图画进行处理的办法。

1.1 图画获取

图画获取进程如图1所示:被检测的裂缝经过光学体系在CMOS图画传感器上成像,然后经过USB接口将裂缝图画输出到ARM上进行处理。ARM(Advanced RISC Machines)是微处理器职业的一家知名企业,规划了许多高功能、廉价、耗能低的RISC处理器、相关技能及软件。技能具有功能高、成本低和能耗省的特色。适用于多种范畴,比方嵌入操控、消费/教育类多媒体、DSP和移动式运用等。

根据Linux操作体系和ARM完结裂纹实时丈量体系的规划

图画获取

裂缝图画如图2所示。裂缝宽度散布规模较广,自几十至几百像素不等,但远远小于图画的宽度值。裂缝周围有部分噪声,有的图画含有许多污染区域,这成为裂缝方位定的难点。

根据Linux操作体系和ARM完结裂纹实时丈量体系的规划

裂缝图画

根据Linux操作体系和ARM完结裂纹实时丈量体系的规划

OTSU图画切割成果

1.2 OTSU图画切割

经过与已有图画切割办法如:直方图法、OTSU法、区域切割法等进行比较发现,OTSU在终究的作用上占有显着的优势。

图画切割的成果如图3所示。调查成果,很简单发现图画的边际很大区域被错分为与裂缝相同。所以直接核算裂缝宽度时会导致将错分的区域核算成裂缝。因而除了核算裂缝宽度外,对候选裂缝调集进行有用除掉是另一个重要使命。

根据Linux操作体系和ARM完结裂纹实时丈量体系的规划

Sobel边际检测算子

切割完图画后,核算一切或许成为裂缝的区域的宽度。选用从图画给定行的开端方位开端核算裂缝宽度,当发现像素灰度由0变为255,记为一个裂缝的左面际开端方位;当查找到像素灰度由255变为0,记为一个裂缝的右边际完毕方位。经过这种办法能够获取给定行的一切或许的裂缝宽度。可是在详细试验中发现,核算对单行的裂缝进行宽度丈量仍是存在比较大的差错。所以选用求取给定行上下5行共10行的平均值的办法。

1.3 Sobel边际检测

以上末节得出了裂缝的候选调集,可是事实上这个候选调集含有许多的非裂缝区域。这一节中的首要内容是规划算法除掉这些搅扰裂缝,获取更小的裂缝候选调集。在试验中,因为裂缝具有显着的边际,而搅扰图画区域有比较含糊的边际或许仅有一个边际等,经过剖析,提出选用Sobel边际检测的办法进行裂缝方位的确定。Sobel算子由两个卷积核组成,如图4所示。

经过对原始图画选用Sobel边际检测得到如图5所示成果。

根据Linux操作体系和ARM完结裂纹实时丈量体系的规划

Sobel边际检测成果图画

根据Linux操作体系和ARM完结裂纹实时丈量体系的规划

OTSU切割后的成果

可是,这个成果很显着存在许多细小的搅扰,这些搅扰有必要予以除掉,不然将对确定裂缝边际没有任何作用。经过对边际检测成果图画仔细剖析发现,尽管存在细小搅扰,可是他们的灰度值遍及偏小,针对这一发现,对缘检测成果图画做与上一节中相同的图画切割,这会将细小的搅扰有用地除掉。如图6所示。

同过对切割后的边际图画进行调查,图画依然存在一些细小的搅扰,但这些搅扰相对于未处理的缘检测成果图画现已很少,将在后续的处理中对图画裂缝增加附加束缚,然后取出这些搅扰的影响。

1.4 根据裂缝特征的附加束缚

经过对许多的裂缝图画进行剖析,发现图画裂缝有如下特色:

(1)裂缝灰度值低于墙体的灰度值。

(2)裂缝的宽度相对于整个图画不超越图画宽度的1/3。

(3)污染的墙体区域一般呈大的块状呈现,且许多仅含有一个鸿沟,另一鸿沟延伸至图画外面。

(4)墙体的一些细小的搅扰呈小块状呈现。

(5)裂缝一般为带状。

运用ARM处理器处理图画,因为其速度慢且有实时性要求,故不能处理整张的图画,换句话说,有必要处理部分图画。这就很显着增加了除掉候选裂缝的难度。该体系显然是无法运用特色(4)、特色(5)的。

经过增加以上束缚,试验作用有了显着的进步。

图7是PC机的成果,因为一起运用了5个束缚作用比较好。图8是ARM体系运转的截图,因为在ARM上不方便分步核算出每一个过程,故直接给出了带有丈量成果的截图。

根据Linux操作体系和ARM完结裂纹实时丈量体系的规划

PC机核算成果

根据Linux操作体系和ARM完结裂纹实时丈量体系的规划

ARM运转丈量成果截图

2 、根据Linux的QT界面规划算法

前文评论的是首要的算法部分,完好的裂纹丈量体系还包含用户接口部分,即图形界面接口。在ARM上选用QT进行界面规划现已比较老练,它具有以下首要特色:

(1)入门简单、学习成本低。了解基本概念后就能够边查文档边写程序。

(2)跨渠道作用好。本来是Linux下的东西库,Linux是一类Unix核算机操作体系的总称。Linux操作体系的内核的姓名也是“Linux”。Linux操作体系也是自由软件和开放源代码开展中最出名的比如。严厉来讲,Linux这个词自身只表明Linux内核,但在实际上人们现已习惯了用Linux来描述整个根据Linux内核,而且运用GNU 工程各种东西和数据库的操作体系。Linux得名于核算机业余爱好者Linus Torvalds。

3、 软件移植与程序优化

因为终究的程序是运转在ARM体系上,而因为ARM处理图画时的速度慢与裂缝丈量仪器的实时性要求,有必要对程序进行优化,并将算法移植到ARM体系上,使之能够正确运转。

程序的优化是一个问题,尽管现在的ARM速度现已进步了许多,可是在处理图画时仍是很费劲,加上算法中需要对原图画两次独立处理,相当于加倍了ARM的担负。经过对许多裂缝图画的剖析,针对前文中提出的裂缝特色以及结合ARM自身的运算速度条件,提出除掉处理悉数图画的算法。选用了只处理给定行方位上下10行的区域。经过只处理这20行图画,极大地进步了程序的运转速度。以上办法并行,还选用多线程编程办法,经过将图画采样与图画的处理分为两个进程完结,有用地进步了程序的运转速度。

4 、试验成果剖析

该程序别离在PC机和ARM开发板上运转,作用如图7,图8所示。

经过许多的试验发现该算法能较好地检测出裂缝的散布和宽度。在算法中选用了结合OTSU图画切割与Sobel边际检测的混合算法进行裂纹检测与宽度丈量。这种算法能别离有用运用边际检测与图画切割两种办法各自的长处。

5 、结 语

针对墙体裂纹丈量,规划出了一套适用于裂缝宽度检测的算法。该算法能较好地检测出裂缝的散布和宽度。选用边际检测与图画切割混合的办法并经过对许多图画进行剖析,对算法增加了一系列契合图画裂缝特征的束缚条件,极大地进步了算法的准确性与健壮性。别离将程序运转于PC机体系与ARM体系,并针对ARM体系的特色对算法进行了一系列优化,引入了并行处理技能,在进步ARM运转速度的一起,使得ARM体系检测出的成果到达与PC机体系简直平等的作用。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/97052.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部