<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于嵌入式ARMS3C2440的裂紋實(shí)時(shí)測量系統的設計

基于嵌入式ARMS3C2440的裂紋實(shí)時(shí)測量系統的設計

作者: 時(shí)間:2012-01-05 來(lái)源:網(wǎng)絡(luò ) 收藏

引 言

本文引用地址:http://dyxdggzs.com/article/149866.htm

在建筑業(yè)中,評價(jià)墻體,地面是評價(jià)房屋質(zhì)量的一項重要指標。一個(gè)裝置一般都由計算機和執行裝置組成,計算機是整個(gè)嵌入式系統的核心,由硬件層、中間層、系統軟件層和應用軟件層組成。執行裝置也稱(chēng)為被控對象,它可以接受嵌入式計算機系統發(fā)出的控制命令,執行所規定的操作或任務(wù)。執行裝置可以很簡(jiǎn)單,如手機上的一個(gè)微小型的電機,當手機處于震動(dòng)接收狀態(tài)時(shí)打開(kāi);也可以很復雜,如SONY 智能機器狗,上面集成了多個(gè)微小型控制電機和多種傳感器,從而可以執行各種復雜的動(dòng)作和感受各種狀態(tài)信息。嵌入式系統硬件層的核心是嵌入式微處理器,嵌入式微處理器與通用CPU最大的不同在于嵌入式微處理器大多工作在為特定用戶(hù)群所專(zhuān)用的系統中,它將通用CPU許多由板卡完成的任務(wù)集成在芯片內部,從而有利于嵌入式系統在時(shí)趨于小型化,同時(shí)還具有很高的效率和可靠性。

本研究將問(wèn)題劃分為以下兩個(gè)部分:

(1)寬度算法;

(2)將以上所開(kāi)發(fā)軟件移植到ARM開(kāi)發(fā)板,并優(yōu)化算法提高軟件運行速度。

1 裂紋寬度算法

計算裂縫寬度關(guān)鍵是要利用圖像分割技術(shù)得到裂縫的真正邊緣。雖然已有文獻介紹了多種分割方法,但是未見(jiàn)有針對裂縫測試儀采集到的裂縫圖像進(jìn)行處理的方法。

1.1 圖像獲取

圖像獲取過(guò)程如圖1所示:被檢測的裂縫通過(guò)光學(xué)系統在CMOS圖像傳感器上成像,然后通過(guò)USB接口將裂縫圖像輸出到ARM上進(jìn)行處理。ARM(Advanced RISC Machines)是微處理器行業(yè)的一家知名企業(yè),了大量高性能、廉價(jià)、耗能低的RISC處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點(diǎn)。適用于多種領(lǐng)域,比如嵌入控制、消費/教育類(lèi)多媒體、DSP和移動(dòng)式應用等。

裂縫圖像如圖2所示。裂縫寬度分布范圍較廣,自幾十至幾百像素不等,但遠遠小于圖像的寬度值。裂縫周?chē)胁糠衷肼?,有的圖像含有大量污染區域,這成為裂縫位置鎖定的難點(diǎn)。

1.2 OTSU圖像分割

通過(guò)與已有圖像分割方法如:直方圖法、OTSU法、區域分割法等進(jìn)行比較發(fā)現,OTSU在最后的效果上占有明顯的優(yōu)勢。

圖像分割的結果如圖3所示。觀(guān)察結果,很容易發(fā)現圖像的邊緣很大區域被錯分為與裂縫一樣。于是直接計算裂縫寬度時(shí)會(huì )導致將錯分的區域計算成裂縫。因此除了計算裂縫寬度外,對候選裂縫集合進(jìn)行有效剔除是另一個(gè)重要任務(wù)。

分割完圖像后,計算所有可能成為裂縫的區域的寬度。采用從圖像給定行的起始位置開(kāi)始計算裂縫寬度,當發(fā)現像素灰度由0變?yōu)?55,記為一個(gè)裂縫的左邊緣起始位置;當查找到像素灰度由255變?yōu)?,記為一個(gè)裂縫的右邊緣結束位置。通過(guò)這種方法可以獲取給定行的所有可能的裂縫寬度。但是在具體試驗中發(fā)現,計算對單行的裂縫進(jìn)行寬度還是存在比較大的誤差。于是采用求取給定行上下5行共10行的平均值的方法。

1.3 Sobel邊緣檢測

以上小節得出了裂縫的候選集合,但是事實(shí)上這個(gè)候選集合含有大量的非裂縫區域。這一節中的主要內容是設計算法剔除這些干擾裂縫,獲取更小的裂縫候選集合。在試驗中,由于裂縫具有明顯的邊緣,而干擾圖像區域有比較模糊的邊緣或者僅有一個(gè)邊緣等,通過(guò)分析,提出采用Sobel邊緣檢測的方法進(jìn)行裂縫位置的鎖定。Sobel算子由兩個(gè)卷積核組成,如圖4所示。

通過(guò)對原始圖像采用Sobel邊緣檢測得到如圖5所示結果。

但是,這個(gè)結果很明顯存在很多微小的干擾,這些干擾必須予以剔除,否則將對鎖定裂縫邊緣沒(méi)有任何效果。通過(guò)對邊緣檢測結果圖像仔細分析發(fā)現,雖然存在微小干擾,但是他們的灰度值普遍偏小,針對這一發(fā)現,對緣檢測結果圖像做與上一節中一樣的圖像分割,這會(huì )將微小的干擾有效地剔除。如圖6所示。

同過(guò)對分割后的邊緣圖像進(jìn)行觀(guān)察,圖像仍然存在一些微小的干擾,但這些干擾相對于未處理的緣檢測結果圖像已經(jīng)很少,將在后續的處理中對圖像裂縫添加附加約束,從而取出這些干擾的影響。

1.4 裂縫特征的附加約束

通過(guò)對大量的裂縫圖像進(jìn)行分析,發(fā)現圖像裂縫有如下特點(diǎn):

 ?。?)裂縫灰度值低于墻體的灰度值。

 ?。?)裂縫的寬度相對于整個(gè)圖像不超過(guò)圖像寬度的1/3。

 ?。?)污染的墻體區域一般呈大的塊狀出現,且很多僅含有一個(gè)邊界,另一邊界延伸至圖像外面。

 ?。?)墻體的一些微小的干擾呈小塊狀出現。

 ?。?)裂縫一般為帶狀。

使用ARM處理器處理圖像,由于其速度慢且有性要求,故不能處理整張的圖像,換句話(huà)說(shuō),必須處理局部圖像。這就很明顯增加了剔除候選裂縫的難度。該系統顯然是無(wú)法使用特點(diǎn)(4)、特點(diǎn)(5)的。

通過(guò)添加以上約束,實(shí)驗效果有了明顯的提高。

圖7是PC機的結果,由于同時(shí)使用了5個(gè)約束效果比較好。圖8是ARM系統運行的截圖,由于在A(yíng)RM上不方便分步計算出每一個(gè)步驟,故直接給出了帶有測量結果的截圖。

2 Linux的QT界面設計算法

前文討論的是主要的算法部分,完整的裂紋測量系統還包括用戶(hù)接口部分,即圖形界面接口。在A(yíng)RM上采用QT進(jìn)行界面設計已經(jīng)比較成熟,它具有以下主要特點(diǎn):

(1)入門(mén)容易、學(xué)習成本低。了解基本概念后就可以邊查文檔邊寫(xiě)程序。

(2)跨平臺效果好。本來(lái)是Linux下的工具庫,Linux是一類(lèi)Unix計算機操作系統的統稱(chēng)。Linux操作系統的內核的名字也是“Linux”。Linux操作系統也是自由軟件和開(kāi)放源代碼發(fā)展中最著(zhù)名的例子。嚴格來(lái)講,Linux這個(gè)詞本身只表示Linux內核,但在實(shí)際上人們已經(jīng)習慣了用Linux來(lái)形容整個(gè)Linux內核,并且使用GNU 工程各種工具和數據庫的操作系統。Linux得名于計算機業(yè)余愛(ài)好者Linus Torvalds。

3 軟件移植與程序優(yōu)化

由于最終的程序是運行在A(yíng)RM系統上,而由于A(yíng)RM處理圖像時(shí)的速度慢與裂縫測量?jì)x器的性要求,必須對程序進(jìn)行優(yōu)化,并將算法移植到ARM系統上,使之可以正確運行。

程序的優(yōu)化是一個(gè)問(wèn)題,雖然現在的ARM速度已經(jīng)提高了很多,但是在處理圖像時(shí)還是很吃力,加上算法中需要對原圖像兩次獨立處理,相當于加倍了ARM的負擔。通過(guò)對大量裂縫圖像的分析,針對前文中提出的裂縫特點(diǎn)以及結合ARM本身的運算速度條件,提出剔除處理全部圖像的算法。采用了只處理給定行位置上下10行的區域。通過(guò)只處理這20行圖像,極大地提高了程序的運行速度。以上方法并行,還采用多線(xiàn)程編程方法,通過(guò)將圖像采樣與圖像的處理分為兩個(gè)進(jìn)程完成,有效地提高了程序的運行速度。

4 實(shí)驗結果分析

該程序分別在PC機和ARM開(kāi)發(fā)板上運行,效果如圖7,圖8所示。

通過(guò)大量的實(shí)驗發(fā)現該算法能較好地檢測出裂縫的分布和寬度。在算法中采用了結合OTSU圖像分割與Sobel邊緣檢測的混合算法進(jìn)行裂紋檢測與寬度測量。這種算法能分別有效利用邊緣檢測與圖像分割兩種方法各自的優(yōu)點(diǎn)。

5 結 語(yǔ)

針對墻體裂紋測量,設計出了一套適用于裂縫寬度檢測的算法。該算法能較好地檢測出裂縫的分布和寬度。采用邊緣檢測與圖像分割混合的方法并通過(guò)對大量圖像進(jìn)行分析,對算法添加了一系列符合圖像裂縫特征的約束條件,極大地提高了算法的準確性與健壯性。分別將程序運行于PC機系統與ARM系統,并針對ARM系統的特點(diǎn)對算法進(jìn)行了一系列優(yōu)化,引入了并行處理技術(shù),在提高ARM運行速度的同時(shí),使得ARM系統檢測出的結果達到與PC機系統幾乎同等的效果。

接地電阻相關(guān)文章:接地電阻測試方法


linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>