實習報告數(shù)字圖像處理實習 —多長度尺寸測量_第1頁
實習報告數(shù)字圖像處理實習 —多長度尺寸測量_第2頁
實習報告數(shù)字圖像處理實習 —多長度尺寸測量_第3頁
實習報告數(shù)字圖像處理實習 —多長度尺寸測量_第4頁
實習報告數(shù)字圖像處理實習 —多長度尺寸測量_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)字圖像處理實習多長度尺寸測量姓名:張慧 班級:信息10-1學號:36 1. 不要刪除行尾的分節(jié)符,此行不會被打印信息10-1 張慧 36目 錄一. 課程設計任務11.1 設計目的11.2 設計要求1二. 課程設計原理及設計方案32.1 設計原理32.2 設計方案52.3 設計流程圖11三. 課程設計的步驟及結(jié)果圖123.1步驟123.2結(jié)果圖13四. 課程設計總結(jié)15五. 參考文獻16- 16 -信息10-1 張慧 36一. 課程設計任務1.1 設計目的數(shù)字圖像處理,就是用數(shù)字計算機及其他有關數(shù)字技術,對圖像進行處理,以達到預期的目的。隨著計算機的發(fā)展,圖像處理技術在許多領域得到了廣泛應用,

2、數(shù)字圖像處理已成為電子信息、通信、計算機、自動化、信號處理等專業(yè)的重要課程。數(shù)字圖像處理課程設計是在學習完數(shù)字圖像處理的相關理論后,進行的綜合性訓練課程,其目的是: 使學生進一步鞏固數(shù)字圖像處理的基本概念、理論、分析方法和實現(xiàn)方法; 增強學生應用VC+6.0編寫數(shù)字圖像處理的應用程序及分析、解決實際問題的能力; 嘗試所學的內(nèi)容解決實際工程問題,培養(yǎng)學生的工程實踐能力。本實驗是MVIPS 圖像處理軟件結(jié)合 MV-ERP/MRP /LSP系列機器視覺創(chuàng)新實驗開發(fā)平臺而設計的。本實驗對工業(yè)流水線生產(chǎn)現(xiàn)場的高精度時實尺寸測量,供出了一種全新的測量方法。通過實驗,可進一步提高同學們對機器視覺技術的了解,

3、增強同學們的動手能力,鞏固和掌握圖像處理技術的基本技能。1.2 設計要求在加工制造領域,需要對很多零部件尺寸進行測量,以驗證零件是否符合加工要求。一般這種測量可以通過千分尺或游標卡尺完成。但對于很多易碎或易變形的零件,類似的測量幾乎難以完成。在這種場合,一般要求采用非接觸測量方法,圖像測量就是其中的方法之一。試設計一應用軟件,能夠?qū)藴市螤畹牧慵M行圖像測量。要求完成功能: 1、能夠讀取和存儲圖像,對圖像進行去噪和對比度增強; 2、能夠根據(jù)控制點對圖像失真進行幾何校正; 3、根據(jù)控制點對圖像進行定標,建立像素與實際尺寸之間的對應關系; 4、對于非標準零件,利用人工鼠標操作,測量任意指定點間的距

4、離; 5、對圓形標準零件進行自動尺寸測量(提高部分); 6、設計軟件界面。n 1.3實驗器材1) 嵌入式計算機(自備)2) MVIPS圖像處理軟件及加密狗一套;3) Microvison系列機器視覺創(chuàng)新教學實驗平臺一套;4) Microvison工業(yè)數(shù)字相機(1394、USB接口);5) 百萬像素高分辨率鏡頭;6) 機器視覺LED背光源及控制器一套;二. 課程設計原理及設計方案2.1 設計原理2.1.1濾波去噪由于圖像中不可避免地存在噪聲,故在圖像預處理過程中需要對噪聲進行濾除。一些常見的噪聲有椒鹽噪聲、脈沖噪聲、高斯噪聲等。椒鹽噪聲是含隨機出現(xiàn)的黑白亮度值,脈沖噪聲是只含有隨機的白強度值(正

5、脈沖噪聲)和黑強度值。與強兩者不同,高斯噪聲是含有亮度服從高斯或正態(tài)分布的噪聲。圖像的平滑處理在空間域和頻域采取不同的方法,空間域濾波是在圖像空間借助模版進行鄰域操作,一般分為線性和非線性兩類。1. 線性平滑濾波器對去除高斯噪聲有很好的效果,大多數(shù)情況下對其他來性的噪聲也有很好的效果。最簡單的線性濾波是均值濾波,即對局部進行均值計算,每一像素點的灰度值用其鄰域內(nèi)的各點灰度值的均值來置換。但是鄰域N的大小控制著濾波程度,大尺度濾波器會加大濾波程度,作為消除大噪聲的代價,大尺度濾波器會導致細節(jié)的損失和計算量的增加,使得圖像的尖銳部分變模糊。2. 中值濾波法是一種較好的非線性濾波方法,它將每一象素點

6、的灰度值設置為該點某鄰域窗口內(nèi)的所有象素點灰度值的中值,在去除圖像脈沖噪聲、椒鹽噪聲的同時,又能保留圖像的邊緣細節(jié),有效地保持圖像輪廓的清晰。設G(x,y)表示原始圖像在(x,y)處的灰度值,選用N*N的正方形窗口(N一般取3或5),F(xiàn)(x,y)表示濾波后的圖像在(x,y)處的灰度值,Med表示對窗口求中值,則中值濾波的輸出可表達為:2.1.2幾何校正數(shù)字圖像幾何變形是指圖像上的像元在圖像坐標系的坐標與其在實際元件等參考坐標系之間的坐標不一致,從而導致圖像行列式不均勻、像元大小和位置與實際對應不準確、形狀不規(guī)則等。圖像的總體幾何變形是平移、縮放、旋轉(zhuǎn)、偏扭、彎曲及其其他變形的綜合作用結(jié)果。對于

7、圖像的幾何校正有直接和間接兩種方法,其關鍵環(huán)節(jié)在于:一是像素坐標變換;而是像素亮度值沖采樣。在對工件進行圖像采集時,主要涉及到的幾何變形是投影畸變,形象的說獲得的圖像就像是影子近大遠小,因此只要在采集圖像時設置四個控制點,根據(jù)我們已知控制點的標準圖像和獲得的畸變的控制點圖像建立傳輸函數(shù),利用傳輸函數(shù)對元件的畸變圖像反變換獲得理想的元件圖像。2.1.3測量定標元件尺寸的圖像測量,是建立在實際尺寸與像素關系已知的基礎上的,通過檢測元件的像素個數(shù),以及像素與實際尺寸的對應關系(圖像分辨率)求得元件的實際尺寸。對于掃描儀等設備獲取的圖像,因為其設備為固定高度且步進電機勻速掃描采集信息,則可以獲取元件圖

8、像的像素分辨率(像素/英寸dpi),然后直接利用此分辨率進行測距計算。而大部分圖像,包括相機、攝像頭獲取,或者從屏幕上截取得到,其圖像分辨率已經(jīng)發(fā)生變化,或者根本沒有任何實際意義,這是就需要對圖像進行尺寸定標。在獲取元件圖像的同時,放置已知具體實際尺寸的標定物,在獲取圖像后與元件圖像一起進行相同的幾何校正等一系列操作,最終求的其像素數(shù),從而獲得像素數(shù)與實際尺寸的比例關系,設為分辨率dpi,進行元件實際尺寸的測量計算。2.1.4增強對比度和二值化處理經(jīng)過幾何校正后的圖像則可以用于尺寸測量,但由于背景的影響,在檢測元件邊緣時會有較大的誤差,因而更好的辦法是增強對比度后設置門限,對圖像進行二值化處理

9、。1. 在數(shù)字圖像處理中,二值圖像占有非常重要的地位,二值化后的圖像更容易檢測元件圖像的邊緣。圖像的二值化有利于圖像的進一步處理,使圖像變得簡單,而且數(shù)據(jù)量減小,能凸顯出感興趣的目標的輪廓。其次,要進行二值圖像的處理與分析,首先要把灰度圖像二值化,得到二值化圖像。2. 為了方便選取二值化所需的閾值,我們希望圖像的直方圖是一個標準的雙峰一谷,則直接在谷底處取得閾值,使一側(cè)為0另一側(cè)為1,因此需要對圖像首先進行對比度增強。如果原圖象f(x,y)的灰度范圍是m,M,我們希望調(diào)整后的圖象g(x,y)的灰度范圍是n,N,利用VC+圖象處理工具箱中的函數(shù),可以很容易實現(xiàn)上述線性變換的對比度增強。2.1.5

10、投影法自動測距投影法就是統(tǒng)計目標像素在水平方向(x軸)和豎直方向(y軸)上累計的個數(shù),然后畫出統(tǒng)計圖形。根據(jù)本次統(tǒng)計圖形的零極點判斷元件圖像的邊緣,測得邊緣之間的距離即為所求元件的尺寸。對于統(tǒng)計圖像峰值的判斷,可以采用一階甚至二階差分,判斷統(tǒng)計圖像兩側(cè)異號或者突變的點,即元件的邊緣位置。2.1.6手動兩點測距應用最簡單方法,測得圖像上兩點像素的坐標,計算出兩點間的像素數(shù),然后根據(jù)讀取或者測得的圖像分辨率計算出任意兩點間距離。2.2 設計方案根據(jù)以上設計原理的選擇,結(jié)合VC+6.0的進行圖像處理,主要是圖像輪廓提取和圖像的尺寸計算/* * 函數(shù)名稱: * ContourDIB() * 參數(shù): *

11、 LPSTR lpDIBBits - 指向源DIB圖像指針 * LONG lWidth - 源圖像寬度(象素數(shù),必須是4的倍數(shù)) * LONG lHeight - 源圖像高度(象素數(shù)) * 返回值: * BOOL - 運算成功返回TRUE,否則返回FALSE。 * 說明: * 該函數(shù)用于對圖像進行輪廓提取運算。 * 要求目標圖像為只有0和255兩個灰度值的灰度圖像。*/int L=0,H=0;/圖像的長 寬 char *Quality=NULL; /是否合格BOOL CDibImage:ContourDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight)

12、LPSTRlpSrc;/ 指向源圖像的指針LPSTRlpDst;/ 指向緩存圖像的指針LPSTRlpNewDIBBits;/ 指向緩存DIB圖像的指針HLOCALhNewDIBBits;long i,j,z;/循環(huán)變量unsigned char find_L,find_H,Start_L,Start_H,flag_L,flag_H; /尋找到邊界點標志unsigned int Q_L_MIN=100,Q_H_MIN=80, Q_L_MAX=360,Q_H_MAX=120; /產(chǎn)品合格標志 目前是手動在程序中輸入unsigned char n,e,s,w,ne,se,nw,sw;unsigned

13、 char pixel;/像素值/ 暫時分配內(nèi)存,以保存新圖像hNewDIBBits = LocalAlloc(LHND, lWidth * lHeight);if (hNewDIBBits = NULL)return FALSE;lpNewDIBBits = (char * )LocalLock(hNewDIBBits);/ 初始化新分配的內(nèi)存,設定初始值為255lpDst = (char *)lpNewDIBBits;memset(lpDst, (BYTE)255, lWidth * lHeight);for(j = 1; j lHeight-1; j+)for(i = 1;i lWidt

14、h-1; i+)/ 指向源圖像倒數(shù)第j行,第i個象素的指針lpSrc = (char *)lpDIBBits + lWidth * j + i;/ 指向目標圖像倒數(shù)第j行,第i個象素的指針lpDst = (char *)lpNewDIBBits + lWidth * j + i;/取得當前指針處的像素值,注意要轉(zhuǎn)換為unsigned char型pixel = (unsigned char)*lpSrc;/目標圖像中含有0和255外的其它灰度值/if(pixel != 255 & pixel != 0)/return FALSE;if(pixel = 0) *lpDst = (unsigned

15、char)0; /0 顯示為黑色 也就是輪廓線nw = (unsigned char)*(lpSrc + lWidth -1);n = (unsigned char)*(lpSrc + lWidth );ne = (unsigned char)*(lpSrc + lWidth +1);w = (unsigned char)*(lpSrc -1);e = (unsigned char)*(lpSrc +1);sw = (unsigned char)*(lpSrc - lWidth -1);s = (unsigned char)*(lpSrc - lWidth );se = (unsigned c

16、har)*(lpSrc - lWidth +1);/如果相鄰的八個點都是黑點if(nw+n+ne+w+e+sw+s+se=0)*lpDst = (unsigned char)255; / 255 顯示為白色/*/ 計算長度 L 單位像素/*/ /尋找到邊界點標志find_L=1;find_H=1;Start_L=0;flag_L=1; /測試長度的起點 和結(jié)束點的標志L=0;for(j = 1; j lHeight-1&find_H; j+) /列for(i = 1;i lWidth-1&find_L; i+)/行/ 指向源圖像倒數(shù)第j行,第i個象素的指針lpSrc = (char *)lpD

17、IBBits + lWidth * j + i;/ 指向目標圖像倒數(shù)第j行,第i個象素的指針lpDst = (char *)lpNewDIBBits + lWidth * j + i;/取得當前指針處的像素值,注意要轉(zhuǎn)換為unsigned char型pixel = (unsigned char)*lpSrc; /*開始點檢測*/if(pixel = 0&flag_L) nw = (unsigned char)*(lpSrc + lWidth -1); n = (unsigned char)*(lpSrc + lWidth ); ne = (unsigned char)*(lpSrc + lWi

18、dth +1); w = (unsigned char)*(lpSrc -1); e = (unsigned char)*(lpSrc +1); sw = (unsigned char)*(lpSrc - lWidth -1); s = (unsigned char)*(lpSrc - lWidth ); se = (unsigned char)*(lpSrc - lWidth +1);/如果相鄰的八個點都是黑點if(nw+n+ne+w+e+sw+s+se=0) L=0;else find_H=0; flag_L=0; Start_L=1; /*結(jié)束點檢測*/ if(Start_L=1) L+

19、; /長度像素if(pixel = 0)nw = (unsigned char)*(lpSrc + lWidth -1);n = (unsigned char)*(lpSrc + lWidth );ne = (unsigned char)*(lpSrc + lWidth +1);w = (unsigned char)*(lpSrc -1);e = (unsigned char)*(lpSrc +1);sw = (unsigned char)*(lpSrc - lWidth -1);s = (unsigned char)*(lpSrc - lWidth );se = (unsigned char

20、)*(lpSrc - lWidth +1);/如果相鄰的八個點都是黑點if(nw+n+ne+w+e+sw+s+se=0) find_L=0; Start_L=0; /*/ 計算寬 H 單位像素/*/ /尋找到邊界點標志 find_L=1; find_H=1; Start_H=0; flag_H=1;H=0;for(i = 1;i lWidth-1&find_L; i+)/行 for(j = 1; j lHeight-1&find_H; j+) /列 / 指向源圖像倒數(shù)第j行,第i個象素的指針lpSrc = (char *)lpDIBBits + lWidth * j + i;/ 指向目標圖像倒

21、數(shù)第j行,第i個象素的指針lpDst = (char *)lpNewDIBBits + lWidth * j + i;/取得當前指針處的像素值,注意要轉(zhuǎn)換為unsigned char型pixel = (unsigned char)*lpSrc; /*開始點檢測*/ if(pixel = 0& flag_H) nw = (unsigned char)*(lpSrc + lWidth -1);n = (unsigned char)*(lpSrc + lWidth );ne = (unsigned char)*(lpSrc + lWidth +1);w = (unsigned char)*(lpSr

22、c -1);e = (unsigned char)*(lpSrc +1);sw = (unsigned char)*(lpSrc - lWidth -1);s = (unsigned char)*(lpSrc - lWidth );se = (unsigned char)*(lpSrc - lWidth +1);/如果相鄰的八個點都是黑點 if(nw+n+ne+w+e+sw+s+se=0) H=0; else find_L=0; flag_H=0; Start_H=1; /*結(jié)束點檢測*/ if(Start_H=1) H+; /寬度像素if(pixel = 0)nw = (unsigned c

23、har)*(lpSrc + lWidth -1);n = (unsigned char)*(lpSrc + lWidth );ne = (unsigned char)*(lpSrc + lWidth +1);w = (unsigned char)*(lpSrc -1);e = (unsigned char)*(lpSrc +1);sw = (unsigned char)*(lpSrc - lWidth -1);s = (unsigned char)*(lpSrc - lWidth );se = (unsigned char)*(lpSrc - lWidth +1);/如果相鄰的八個點都是黑點i

24、f(nw+n+ne+w+e+sw+s+se=0)find_H=0; Start_H=0; /*/ 判斷產(chǎn)品是否合格/*/ if(Q_L_MINL&LQ_L_MAX&Q_H_MINH&Q_H_MAX) Quality=合格; else Quality=不合格; / 復制腐蝕后的圖像 memcpy(lpDIBBits, lpNewDIBBits, lWidth * lHeight); LocalUnlock(hNewDIBBits); LocalFree(hNewDIBBits); return TRUE;2.3 設計流程圖三. 課程設計的步驟及結(jié)果圖3.1步驟1) 熟悉MVIPS應用軟件,熟悉機

25、器視覺實驗平臺的基本操作,掌握實驗平臺、工業(yè)數(shù)字相機和機器視覺LED光源的安裝及調(diào)試。2) 實驗平臺搭建完成后,打開實驗平臺電源開關,光源控制器開關;3) 將配套相機驅(qū)動程序拷貝到計算機某盤下,安裝相機驅(qū)動程序;4) 啟動相機Demo,連接相機進入實時狀態(tài),觀察圖像顯示區(qū)域,是否可以正常顯示圖像;5) 調(diào)整平臺運動速度及光源亮度;6) 將MVIPS軟件配套的加密狗插到計算機USB接口;7) 單擊鼠標右鍵,選擇“解鎖”彈出登陸對話框,輸入登錄密碼“admin”;8) 采集到一張標準模板圖像,創(chuàng)建標準模板,設置相應的模板參數(shù)并保存(創(chuàng)建標準模板好壞關系到檢測結(jié)果,對于創(chuàng)建過程附錄中詳細說明);9) 執(zhí)行菜單采集?連續(xù)命令,會聽到“咔噠”一聲,表示拍攝的圖像已經(jīng)送到計算機的MVIPS圖像處理軟件進行處理;10) 程序開始運行分析處理當前采集圖片;11) 輸出檢測結(jié)果畫面;3.2結(jié)果圖元件

溫馨提示

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

評論

0/150

提交評論