微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 基于嵌入式ARMS3C2440的裂纹实时测量系统的设计

基于嵌入式ARMS3C2440的裂纹实时测量系统的设计

时间:01-11 来源:3721RD 点击:

通过添加以上约束,实验效果有了明显的提高。

图7是PC机的结果,由于同时使用了5个约束效果比较好。图8是ARM系统运行的截图,由于在ARM上不方便分步计算出每一个步骤,故直接给出了带有测量结果的截图。


PC机计算结果


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机系统几乎同等的效果。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top