基于malab圖像處理的振動位移測試_第1頁
基于malab圖像處理的振動位移測試_第2頁
基于malab圖像處理的振動位移測試_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

基于malab圖像處理的振動位移測試

在實驗室進(jìn)行的各種測試中,許多機器輸出的結(jié)果只是一個曲線,而沒有曲線中點的坐標(biāo)數(shù)據(jù)。例如:使用測振儀測量構(gòu)件振動位移的測試結(jié)果就是一條繪制在坐標(biāo)紙上的曲線。在隨后的數(shù)據(jù)處理過程中,通常的做法是手工標(biāo)出曲線上的若干點,然后根據(jù)坐標(biāo)紙讀出這些點的坐標(biāo)值,作為實驗得到的初始數(shù)據(jù),以此為基礎(chǔ)進(jìn)行計算和分析。這種處理方法不僅繁瑣、工作量大,而且在曲線上取點的多少和坐標(biāo)值的判讀都因人而異,給測試結(jié)果帶來了較大的誤差。作為一種應(yīng)用廣泛的編程工具,MATLAB在圖形處理方面有著明顯的優(yōu)勢:具有強大的矩陣運算功能,在進(jìn)行圖像處理時可以避免許多繁瑣的運算;圖形顯示方便,可以在調(diào)試過程中隨時觀察圖形的變化;帶有豐富的圖像處理函數(shù)庫,其圖像處理工具箱(imageprocessingtoolbox)幾乎涵蓋了所有常用的圖像處理函數(shù)。筆者利用MATLAB的圖像處理工具箱,對實驗輸出的圖形進(jìn)行處理,獲得實驗圖線的二進(jìn)制圖像矩陣,進(jìn)而通過對二進(jìn)制矩陣的分析獲得實驗圖線的坐標(biāo)值。實踐證明,該過程簡單實用,獲取坐標(biāo)值精度高,是一種解決上述問題的有效方法。1原始輸出流預(yù)覽的處理1.1基于原始圖像的生成實驗中輸出的圖形,一般可通過掃描儀掃入計算機,使其成為可進(jìn)一步編輯的計算機圖像,見圖1。在MATLAB中,通過imread函數(shù)可以將圖形讀入內(nèi)存,返回一個大小與原圖形大小(圖像的大小以像素計)相同的矩陣,輸入語句:通常情況下,獲得的原始圖像是一個RGB圖像,由于涉及的圖像處理函數(shù)多針對灰度圖像,因此需要將RGB圖像ori轉(zhuǎn)換為灰度圖像bw,輸入語句:灰度圖像矩陣中每個元素代表一個像素點,如果矩陣為unit8類型,其數(shù)據(jù)范圍為,不同的元素數(shù)值代表不同的亮度或灰度級,數(shù)值0代表黑色,數(shù)值255代表白色,數(shù)值越大,表明該位置像素點亮度越高。通過imshow函數(shù),可以將矩陣代表的圖形顯示在圖形窗口上,可以看到,顯示出來的圖形與原圖形是完全一樣的。1.2圖像的二維特征為了消除圖形中無關(guān)像素的干擾,需要除去圖形的背景,僅僅保留輸出結(jié)果圖線。將圖形轉(zhuǎn)換為二進(jìn)制圖形,再施以相應(yīng)的變換,就可以達(dá)到這個目標(biāo),滿足數(shù)字化的需要。筆者首先利用MATLAB中雙閾值選擇的方法,有效地清除圖形中的次要區(qū)域。用小波分析的方法處理掃描圖形,根據(jù)圖形掃描強度和明暗的變化,可以確定2個閾值,用這2個閾值對原圖形矩陣進(jìn)行篩選,如閾值threshold1=100,threshold2=210,輸入語句:篩選后返回的bw1和bw2矩陣是2個二進(jìn)制矩陣,與原圖形矩陣大小相同,其中的元素僅有0和1組成。數(shù)字0代表原圖形矩陣該元素所在位置像素小于等于設(shè)定的閾值(即“否”),而數(shù)字1代表大于設(shè)定的閾值(即“是”)。與灰度圖像相同,在顯示為圖形時,數(shù)值0代表黑色,數(shù)值1代表白色,因此二進(jìn)制圖像可以看作是一種特殊的灰度圖像,見圖2。由于閾值設(shè)定的不同,bw1中黑色像素點的數(shù)量遠(yuǎn)遠(yuǎn)少于bw2中的數(shù)量,人們可以選擇合適的閾值,使bw1中包含的全是結(jié)果曲線上的像素點,再以bw1為基礎(chǔ)對bw2進(jìn)行選擇,可以很好地清除圖形中實驗曲線之外的背景像素,如圖形記錄紙上的網(wǎng)格線等均可被清除。首先確定bw1中像素點的位置,輸入語句:r和c是2個數(shù)組,分別代表bw1矩陣中0元素所在的行值和列值,也就是黑像素點所在位置。對bw2進(jìn)行選擇,輸入語句:函數(shù)bwselect的作用是尋找bw2中與指定位置(c,r)相重疊的物體。需要指出的是,MATLAB二進(jìn)制圖像中的“物體”,指的是白色像素點組成的區(qū)域,因此函數(shù)bwselect中的選擇源應(yīng)該是bw2圖形的“負(fù)片”,即矩陣中的元素0和1互換。如前所述,(c,r)指示的都是曲線上點的位置,因此返回的bwclean就是原圖形中的結(jié)果曲線,見圖3。通過imshow(bwclean)可以看到,獲得的bwclean曲線還并不完善,曲線較粗且不光滑,需要對它作進(jìn)一步的處理,才能滿足數(shù)字化的需要。MATLAB提供了一個強大的二進(jìn)制圖像處理函數(shù)bwmorph,其用法為bwmorph(pic,operation,n),通過指定“operation”為不同的參數(shù),可以完成對二進(jìn)制圖像不同的處理。這里首先使用“skel”參數(shù),將曲線進(jìn)一步細(xì)化,使像素點的位置更加精確,見圖4。從圖4可以看出返回的bwskel曲線已經(jīng)很細(xì),只是仍不夠光滑,一些微小的“毛刺”需要進(jìn)一步去除。再次使用bwmorph函數(shù),選用“spur”參數(shù),將bwskel曲線上的“毛刺”去除。觀察返回的圖形,曲線已經(jīng)非常精確,圖形中不包含無關(guān)的像素點,見圖5。2圖形的數(shù)字化2.1bwpruned矩陣大小經(jīng)過圖像處理,最終得到的bwpruned矩陣為二進(jìn)制格式,矩陣中元素為0和1,原圖片中每一個像素點對應(yīng)矩陣中的一個元素。由于處理后的圖形已經(jīng)沒有無關(guān)像素點,因此矩陣中0(顯示為黑色像素)所在位置就是原圖片中曲線所在位置,而圖片的空白處在矩陣中則全部顯示為1。bwpruned矩陣的大小與原圖片的大小總是相同的,所以矩陣中某一個0所在相對位置和其對應(yīng)的曲線上像素點在原圖片中的相對位置也是相同的。確定了矩陣中元素0的位置,就相當(dāng)于確定了曲線在原圖片中的位置。將確定的相對位置在圖片的真實坐標(biāo)中定位,即可知道曲線上每個點的坐標(biāo)值。例如:原曲線上一點a,其對應(yīng)的數(shù)值0出現(xiàn)在二進(jìn)制矩陣的i行j列,原圖形的大小(即矩陣大小)為m×n,而原圖形對應(yīng)的真實坐標(biāo)尺度為x×y,則可求出a點在真實坐標(biāo)中的位置為x·(j-1)/(n-1),y·(i-1)/(m-1),再根據(jù)真實坐標(biāo)的起點進(jìn)行坐標(biāo)平移,即可得到a點的坐標(biāo)值。2.2tempy位置進(jìn)行轉(zhuǎn)換在MATLAB中,判斷一特定元素在矩陣中的位置是非常簡單的,完全不必像其他語言一樣使用循環(huán)嵌套判斷,只需使用一個find命令即可,輸入語句:返回的tempy和tempx是2個數(shù)組,分別記錄了矩陣中每個0元素所在的行與列,由于矩陣的行數(shù)計算是自上而下的,而實際的縱坐標(biāo)通常是自下而上的,輸入下列語句將tempy轉(zhuǎn)換為相對于矩陣最后一行的相對值,可表示曲線的縱向相對位置:其中matixheight為矩陣的總行數(shù)。將獲得的橫向位置tempx和縱向位置tempy與圖片的真實坐標(biāo)比較,進(jìn)行相應(yīng)的縮放和平移,即可獲得曲線上每點的坐標(biāo)值,見表1。比較圖6與原始曲線圖1可以看出,通過獲得的坐標(biāo)值重新繪制的圖線與原掃描圖線符合得非常好,應(yīng)用坐標(biāo)值計算的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論