基于嵌入式ARMS3C2440智能建筑物裂紋實時測量系統(tǒng)開發(fā)研究
通過添加以上約束,實驗效果有了明顯的提高。
圖7是PC機的結(jié)果,由于同時使用了5個約束效果比較好。圖8是ARM系統(tǒng)運行的截圖,由于在ARM上不方便分步計算出每一個步驟,故直接給出了帶有測量結(jié)果的截圖。本文引用地址:http://m.butianyuan.cn/article/152205.htm
2 基于Linux的QT界面設(shè)計算法
前文討論的是主要的算法部分,完整的裂紋測量系統(tǒng)還包括用戶接口部分,即圖形界面接口。在ARM上采用QT進行界面設(shè)計已經(jīng)比較成熟,它具有以下主要特點:
(1)入門容易、學(xué)習(xí)成本低。了解基本概念后就可以邊查文檔邊寫程序。
(2)跨平臺效果好。本來是Linux下的工具庫,在Windows下默認觀感也很好。
3 軟件移植與程序優(yōu)化
由于最終的程序是運行在ARM系統(tǒng)上,而由于ARM處理圖像時的速度慢與裂縫測量儀器的實時性要求,必須對程序進行優(yōu)化,并將算法移植到ARM系統(tǒng)上,使之可以正確運行。
軟件的移植比較容易。由于一開始很注重將PC機上仿真成功的算法及時移植到ARM上,故程序的移植變得比較容易。
但是程序的優(yōu)化是一個問題,雖然現(xiàn)在的ARM速度已經(jīng)提高了很多,但是在處理圖像時還是很吃力,加上算法中需要對原圖像兩次獨立處理,相當(dāng)于加倍了ARM的負擔(dān)。通過對大量裂縫圖像的分析,針對前文中提出的裂縫特點以及結(jié)合ARM本身的運算速度條件,提出剔除處理全部圖像的算法。采用了只處理給定行位置上下10行的區(qū)域。通過只處理這20行圖像,極大地提高了程序的運行速度。以上方法并行,還采用多線程編程方法,通過將圖像采樣與圖像的處理分為兩個進程完成,有效地提高了程序的運行速度。
4 實驗結(jié)果分析
該程序分別在PC機和ARM開發(fā)板上運行,效果如圖7,圖8所示。
通過大量的實驗發(fā)現(xiàn)該算法能較好地檢測出裂縫的分布和寬度。在算法中采用了結(jié)合OTSU圖像分割與Sobel邊緣檢測的混合算法進行裂紋檢測與寬度測量。這種算法能分別有效利用邊緣檢測與圖像分割兩種方法各自的優(yōu)點。另外在該算法中加入了一些分析獲得的約束條件,這能極大地彌補邊緣檢測與圖像分割混合方法的不足,從而有效地提高了裂紋位置鎖定與裂縫寬度測量的精度。
5 結(jié) 語
針對墻體裂紋測量,設(shè)計出了一套適用于裂縫寬度檢測的算法。該算法能較好地檢測出裂縫的分布和寬度。采用邊緣檢測與圖像分割混合的方法并通過對大量圖像進行分析,對算法添加了一系列符合圖像裂縫特征的約束條件,極大地提高了算法的準確性與健壯性。分別將程序運行于PC機系統(tǒng)與ARM系統(tǒng),并針對ARM系統(tǒng)的特點對算法進行了一系列優(yōu)化,引入了并行處理技術(shù),在提高ARM運行速度的同時,使得ARM系統(tǒng)檢測出的結(jié)果達到與PC機系統(tǒng)幾乎同等的效果。
評論