摘要:為了對建筑物中的墻體裂縫" title="墻體裂縫">墻體裂縫進(jìn)行高精度和高清晰度地測量、計(jì)算和處理。文中給出了使用DSP" title="DSP">DSP數(shù)字信號處理器來對墻體裂縫圖像進(jìn)行預(yù)處理的具體方法及相關(guān)算法,同時給出了相應(yīng)的仿真結(jié)果。
關(guān)鍵字:墻體裂縫監(jiān)測;圖像處理;DSP
現(xiàn)代各種建筑行業(yè)中,墻體因?yàn)橥饬ε鲎病⒔ㄖ|(zhì)量、熱脹冷縮等原因,往往會產(chǎn)生一些裂縫。因此,對墻體裂縫的監(jiān)測與分析就顯得十分必要。利用圖像處理的方法來對墻體裂縫進(jìn)行監(jiān)測和分析是比較方便且有效的方法之一。但由于人為或自然因素的影響,復(fù)雜的背景噪聲一般都會疊加在有用的墻體表面圖像數(shù)據(jù)中,所以,在對裂縫進(jìn)行圖像分割前,必須通過濾波來減少噪聲,增強(qiáng)裂縫邊緣效果,然后再進(jìn)行圖像分割。
傳統(tǒng)的數(shù)字圖像處理系統(tǒng)一般是基于PC機(jī)來實(shí)現(xiàn)的,即由圖像采集卡采集圖像,再將圖像數(shù)據(jù)通過總線或網(wǎng)絡(luò)傳輸給PC機(jī),然后在PC機(jī)上進(jìn)行圖像處理。此類系統(tǒng)通常比較復(fù)雜。且難以小型化,不方便隨身攜帶和檢測。因此,本文介紹一種基于DSP芯片來完成數(shù)字圖像處理的實(shí)現(xiàn)方法。該方法利用CCD" title="CCD">CCD傳感器進(jìn)行圖像采集,然后在DSP內(nèi)部通過算法對圖像進(jìn)行處理,再將處理后的圖像通過液晶進(jìn)行顯示,最后由圖像來判定裂縫的狀態(tài)和細(xì)節(jié)等。此方案可使系統(tǒng)更加簡潔、實(shí)時性更強(qiáng),因此,可在便攜式圖像檢測設(shè)備中得到一定的應(yīng)用。
1 算法簡介
通過CCD圖像傳感器采集的圖像,還需對其進(jìn)行一定的處理,才能更好的反映出墻體裂縫的細(xì)節(jié)。對圖像進(jìn)行處理需要一定的算法支持,要根據(jù)算法內(nèi)容進(jìn)行編程,最后通過移植程序到DSP中,以最終實(shí)現(xiàn)圖像處理。本文使用的是中值濾波、圖像灰度值修正、迭代閾值法二值化圖像分割等算法。
由于采集的初始圖像中的噪聲會降低圖像的質(zhì)量,使圖像特征淹沒,給分析帶來困難。因此,去除噪聲、恢復(fù)原始圖像是裂縫圖像處理中的一個重要內(nèi)容。中值濾波是一種非線性的信號處理方法,可在一定條件下克服線性濾波器帶來的圖像細(xì)節(jié)模糊問題,對濾除脈沖干擾最為有效。中值濾波一般采用一個含有奇數(shù)點(diǎn)的滑動窗口(通常為二維窗口)來用窗口中各點(diǎn)灰度值的中值來替代指定點(diǎn)(一般是窗口的中心點(diǎn))的灰度值。中值濾波的窗口形狀和尺寸對濾波器的效果影響較大,因此,需根據(jù)不同要求選用不同的窗口形狀和尺寸。由于裂縫圖像中的脈沖干擾較多,因此,為了保證去噪時失真小,本文筆者選擇3×3的方形窗口來進(jìn)行中值濾波。
直方圖修正主要是為了調(diào)整圖像的亮度,增強(qiáng)圖像中感興趣的灰度區(qū)域。中值濾波后,由于墻體裂縫圖像的特殊性,圖像中的裂縫灰度值往往較小、較灰暗,而背景灰度值往往較大、較明亮。因此,筆者采用了一種線性拉伸變換的方法來增強(qiáng)圖像的灰度效果。若由用戶輸入感興趣的灰度區(qū)域范圍,當(dāng)某點(diǎn)的像素值小于范圍的最小值時,該點(diǎn)像素值賦值為0;大于范圍的最大值時,該點(diǎn)像素值賦值為255。若在范圍中,則計(jì)算出該值在范圍中的比例,再用比例乘以255,以得到新的像素值。這樣,就將感興趣的灰度區(qū)域拉伸到0~255,從而達(dá)到對比度增強(qiáng)的目的。
在圖像進(jìn)行灰度值拉伸修正后,為了便于裂縫觀察,還需要將裂縫從圖像中分割出來。由于墻體裂縫與背景在灰度級上有明顯的區(qū)別,所以,選擇合適的閾值T便能實(shí)現(xiàn)分割。若像素灰度值小于T,則將其灰度值設(shè)置為0,否則,將其灰度值設(shè)置為255。閾值的選取是關(guān)系圖像分割質(zhì)量好壞的關(guān)鍵,本文采用迭代閾值法來求得閾值T。其灰度的閾值分割變換公式如下:
式(1)中,T為采用迭代閾值法得到的閾值。
2 硬件系統(tǒng)設(shè)計(jì)
利用DSP完成墻體裂縫圖像的采集與處理時,需要建立相應(yīng)的硬件平臺。該平臺需要能實(shí)時完成圖像的采集、處理與分析。本文采用TI公司的DSP芯片TMS320DM642作為主處理芯片,并完成相應(yīng)的外部電路設(shè)計(jì),其具體結(jié)構(gòu)如圖1所示。
用DSP處理器TMS320DM642作為主處理器,其最高能達(dá)到600 MHz的工作頻率,完全能滿足本文的墻體裂縫圖像分割提取的實(shí)時處理要求。設(shè)計(jì)時,先利用CCD圖像傳感器采集墻體裂縫圖像,再經(jīng)過AD轉(zhuǎn)換將圖像數(shù)據(jù)送到CPLD中,并在緩沖后將數(shù)據(jù)傳輸?shù)紻SP進(jìn)行處理,該DSP芯片可利用各種算法對圖像進(jìn)行處理。若數(shù)據(jù)需要存儲,則可以利用CPLD將所需存儲的數(shù)據(jù)在DSP與FLASH、SDRAM之間進(jìn)行傳遞。當(dāng)圖像處理完成后,再通過LCD接口電路將圖像在LCD上顯示,從而完成圖像的實(shí)時分析、處理與顯示。
3 算法實(shí)現(xiàn)流程
該圖像處理算法需要由相關(guān)的程序來實(shí)現(xiàn),最后再將程序嵌入到DSP處理器中。當(dāng)墻體裂縫圖像通過CCD圖像傳感器采集以后,其后的處理過程首先要對圖像進(jìn)行中值濾波,其次通過灰度值修正,取得最優(yōu)閾值后再進(jìn)行二值化分割,以完成對圖像的處理。
中值濾波算法的C語言實(shí)現(xiàn)過程首先是確定中值濾波窗口與形狀,然后將窗口內(nèi)的像素值存入數(shù)組中,再通過冒泡法對該數(shù)組進(jìn)行排序以取出中值,最后用該中值替換原來窗口的中心像素,至此,便實(shí)現(xiàn)了圖像的中值濾波。由于墻體裂縫圖像的特殊性,灰度值修正算法的C語言實(shí)現(xiàn)過程是先獲取用戶感興趣的灰度區(qū)域[A,B],再利用循環(huán)對每個像素點(diǎn)的值M進(jìn)行判斷,若MB,則將M賦值為25 5,若A
式中INT為取整,通過以上運(yùn)算,便可實(shí)現(xiàn)感興趣區(qū)域的灰度拉伸,使對比度增強(qiáng)。圖2所示是通過C語言實(shí)現(xiàn)中值濾波與灰度修正的具體
流程圖。
在閾值分割算法的C語言實(shí)現(xiàn)過程中,由于裂縫圖像中的裂縫和墻體背景的灰度值相差較大,因此,其直方圖會呈現(xiàn)明顯的雙峰形狀,而將該谷值作為分割的閾值來進(jìn)行二值分割會得到較好的分割圖像。一般情況下,采用迭代閾值分割法比較適合。用迭代的方法來對閾值進(jìn)行迭代,能夠自適應(yīng)地尋找出最優(yōu)的閾值。然后將每個像素值與閾值進(jìn)行比較,大于閾值時,將該點(diǎn)的像素值置為255;小于閾值時,將該點(diǎn)的像素值置為0。此時,便完成圖像的二值化分割。在整個過程的運(yùn)行中,主函數(shù)先開始執(zhí)行,并先進(jìn)行初始化,包括將圖像數(shù)據(jù)裝入到指定的存儲空間,設(shè)置圖像的邊界和大小,通過迭代閾值法得到最佳閾值T等,接著再進(jìn)行中值濾波,然后進(jìn)行灰度修正,再后進(jìn)行閾值分割,至此便完成了整個圖像的處理過程。通過C語言實(shí)現(xiàn)閾值分割算法以及整個圖像處理的流程如圖3所示。
4 仿真結(jié)果分析
本文利用DSP集成開發(fā)平臺CCS對裂縫圖像的處理進(jìn)行了仿真,并通過建立新的工程將主程序以及相關(guān)的庫函數(shù)加入到工程中,然后在配置存儲空間和編譯鏈接后,鏈接了仿真器,并將生成的下載文件下載到仿真器中,最后設(shè)置斷點(diǎn),開始運(yùn)行程序,觀察每次圖像處理的結(jié)果。其具體的仿真結(jié)果如圖4所示。
在圖4中,圖4(a)為原圖像,(b)為經(jīng)過中值濾波后的圖像,該圖像中的噪聲有所減少,但圖像也開始有點(diǎn)模糊; (c)為灰度調(diào)整后的圖像,該圖像中亮度明顯增加,裂縫與背景的對比度明顯提高,細(xì)節(jié)也較明顯; (d)為利用迭代閾值法進(jìn)行二值分割后的圖像,可以看出,該圖像中的裂縫基本被分割出來,粗的裂縫清晰明顯,細(xì)的裂縫分割效果也基本滿意,可以達(dá)到裂縫圖像去噪、增強(qiáng)、分割的目的。
5 結(jié)束語
本文主要探討墻體裂縫圖像的預(yù)處理過程以及算法的DSP實(shí)現(xiàn)。該方法通過C語言編程并利用DSP可完成圖像采集、中值濾波、圖像增強(qiáng)、圖像分割四個步驟,從而完成整個裂縫圖像的處理過程。墻體裂縫圖像經(jīng)處理后,裂縫能較清晰的得到顯示與分割,而且細(xì)節(jié)信息基本保留,因而可為其他處理做準(zhǔn)備。由于該方法是通過DSP來實(shí)現(xiàn)整個過程,故其硬件系統(tǒng)結(jié)構(gòu)簡潔。事實(shí)上,本文的方法也可在一些便攜式墻體裂縫檢測設(shè)備中得到應(yīng)用。