《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于數字圖像處理技術的工程檢測軟件設計
基于數字圖像處理技術的工程檢測軟件設計
摘要:  利用工業數碼相機拍攝照片,獲取模擬圖像,再通過圖像采集卡,對圖像進行離散化 后傳送給計算機,計算機將得到的數字圖像按一定的圖像文件格式保存;然后調用該圖像處理系統對圖像處理分析,根據需要提取的特征值,最后對得到的特征數值進行數據重構分析,獲取精度公差結果。
Abstract:
Key words :

一、 概述
  利用工業數碼相機拍攝照片,獲取模擬圖像,再通過圖像采集卡,對圖像進行離散化 后傳送給計算機,計算機將得到的數字圖像按一定的圖像文件格式保存;然后調用該圖像處理系統對圖像處理分析,根據需要提取的特征值,最后對得到的特征數值進行數據重構分析,獲取精度公差結果。

二、 該軟件的構件關系
  本軟件的設計是以VB6.0為客戶,MATLAB6.5與AUTOCAD為服務器來共同完成的。利用VB的可視化設計構建人機對話界面,利用MATLAB的圖形處理功能和強大的編程功能完成軟件核心處理,而后利用AUTOCAD的圖形標注和測量功能完成圖像數據的獲得。
  對AutoCAD對象控制[1]:acaddoc.sendcommand "符合Autocad 的指令" ;該命令可以向AutoCAD發出指令調用且執行該指令。
  對MATLAB的對象控制[2]:在將MATLAB作為服務器利用ActiveX技術進行調用時,在操作系統的注冊表中只有以下三個函數可以用。
1) matlab.execute “ MATLAB格式的程序”;該句用于執行MATLAB的命令
2) matlab.getfullmatrix(“a”, “base”, “mreal”,“mimag”);該句用于執行從MATLAB中讀出距陣的數值,放在數組a中,mreal為距陣的實部,mimag為距陣的虛部。
3) matlab.putfullmatrix(“a”, “base”, “mreal”,“mimag”);該句用于執行把外部的數組讀入到MATLAB中距陣的數值,放在距陣a中,mreal為距陣的實部,mimag為距陣的虛部。
  在VB中應用符合MATLAB與AutoCAD的命令,首先必須建立VB與MATLAB,VB與AutoCAD之間的聯系。這是通過在VB中書寫公用變量聲名的方式來實現的。
  其核心程序為:
Public matlab As Object ;全局變量聲名
Public acaddoc As Object
Public mdspace As Object
Public acadapp As Object
Public acadutil As Object
On Error Resume Next ;對于matlab的打開、聲明和錯誤處理
Set matlab = GetObject( "matlab.application"
If Err Then
Err.Clear
Set matlab = CreateObject("matlab.application"
If Err Then
MsgBox "軟件不能打開MATLAB,請重試!"
Exit Sub
End If
End If
以下是autocad的引用,對AutoCAD的打開、聲明和錯誤處理
On Error Resume Next
Set acadapp = GetObject(, "autocad.application"
If Error Then
Err.Clear
Set acadapp = CreateObject("autocad.application"
If Err Then
MsgBox "無法引導AUTOCAD,請檢查是否已安裝了AUTOCAD2000."
End If
End If
Set acaddoc = acadapp.activedocument ;設置autocad的具體工作情況
Set mdspace = acaddoc.modelspace
Set acadutil = acaddoc.utility
acadapp.Visible = False

三、 軟件的核心算法
1、 灰度圖像的算法
  邊緣是指其周圍象素灰度有階躍變化或者屋頂變化的那些要素的集合[4]。求解二維實函數的梯度后選擇合適的閾值提取邊緣的方法稱為梯度閾值法。這種微分算法運算簡單,但抗干擾能力差。經典的邊緣檢測方法是考察圖像的每個像素的某個領域內灰度的變化,利用邊緣鄰近一階或二階導數變化規律,用簡單的方法檢測邊緣,該方法常被稱為邊緣檢測局部算子。
  Roberts算子的基本原理:
  對數字圖像的灰度函數為Z=f(x,y),x和y分別為像素的坐標。若在坐標點(x,y)處有邊緣,則利用f(x,y)在x與y方向上的變化率可以算出其變化最快的方向,即梯度方向。
  若考慮數字圖像的離散域,可以直接用圖像的一階差分代替圖像函數的偏導數,二維離散圖像函數在x方向與y方向的一階差分分別定義為f(x+1,y)-f(x,1)與f(x,y+1)-f(x,y)。

2、 二值圖像的算法
  二值圖像中所有的像素只能從0和1這兩個值中取值,因此,在MATLAB中,二值圖像用一個由0和1組成的二維矩陣來表示。它們分別代表著關閉和打開,關閉表示該像素處于背景,而打開表示該像素處于前景。以這種方式來進行操作圖像更容易識別出圖像的結構特征。

四、 該軟件的操作方法
  首先是,原照片圖像的獲取工作。可以是彩色照片也可以是黑白照,它們都是模擬圖像,如果想要對其進行處理就必須先將其轉換為數字圖像。其次,是圖像的預處理。用戶可以通過該軟件進行各種圖像格式的剪裁、翻轉、比例調整、濾波,二值圖像的腐蝕處理、膨脹處理、直方圖的均衡化等等。再次,是灰度圖像的處理。用戶可以根據自己的需要通過比較各種算子的處理結果來確定所獲取的圖像,及而是對灰度果圖像的處理結果進行圖像的擬合重構分析。如果用戶對灰度圖像的處理結果不滿意,可以通過二值圖像操作菜單欄進行二值圖像的相關操作;在這里用戶可以進行,二值圖像的骨架化處理,其精度可以高達一個象素級。接下來,用戶將進行的是圖像幾何尺寸的重構和公差的計算顯示。在此處,用戶可以通過點擊菜單欄相應的內容獲取,其點擊的順序是從上向下依次序點擊。最后,在相關信息菜單欄用戶可以通過點擊獲取已打開的圖片信息,圓度公差表以及該軟件的版權聲明信息。

五、 一個簡單的實例
1.該軟件的安裝
  單擊setup.exe,依照一般軟件的安裝方式就可以完成安裝。初始密碼為:111111。 圖1 安裝界面
圖2 初始界面
2.該軟件的操作
  依照該軟件的相關菜單就可以完成操作。其順序為:圖像的預處理,灰度處理(或二值處理),數據重構,公差獲得。
  以一個茶杯的照片為例:茶杯直徑為35mm;其點陣1024×768像素 圖3 原始圖像 圖4 灰度圖像剪裁(488×488像素) 圖5 該照片的灰度直方圖
圖6 灰度算子獲取輪廓邊界 圖7 圓形的重構
  結果分析:外包絡圓直徑為像素492;內包絡圓直徑為像素486;該茶杯的圓度公差為6個像素,即0.05mm。該結果與實測結果基本吻合。

3.注意事項
  該軟件要求用戶系統中必須安裝MATLAB和AUTOCAD;如果沒用安裝其中的任何一個,本軟件將提示用戶不可正常工作的原因。

六、 結束語
  通過以上分析,文中已經清晰地構建出了該軟件的系統模型。文中同時給出了核心部分程序的基本算法以及三個軟件的調用申請指令;這對于圖形圖像軟件的開發者來說,具有較好的參考價值。實踐表明,本軟件運行結果真實、有效,具有很強的實用性。

參考文獻
[1] 胡海青等 著.Autocad的設計與二次開發[M].北京:化學工業出版社,2001,3.
[2] 王曉丹,吳崇明 編著.基于MATLAB的系統分析與設計——圖像處理[M].西安:西安電子科技大學出版社,2004,5.
[3] 張兆禮,趙春暉,梅曉丹. 現代圖像處理技術及Matlab 實現[M]. 北京:人民郵電出版社, 2001,5.
[4] 張杰.一種實用的二值圖像細化算法[J]. 計算機應用及軟件,1998,(12):28-32.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产久爱青草视频在线观看 | 国产日本久久久久久久久婷婷 | 欧美激情首页 | 在线国产视频 | 亚洲丁香色婷婷综合欲色啪 | 日韩欧美一区二区三区免费观看 | 亚洲va老文色欧美黄大片人人 | 天天干天天天天 | 久久综合九色综合97伊人麻豆 | 欧美 在线播放 | 天堂网一区二区 | 77se77亚洲欧美在线大屁股 | 一本色综合 | 波多一区 | 一区二区三区亚洲 | 国产网站在线看 | 99视频在线免费看 | 欧美成人aⅴ| 国产精自产拍久久久久久 | 欧美日韩性视频一区二区三区 | 欧美一区二区三区不卡片 | 在线色综合 | h片在线观看免费 | 九九这里只精品视在线99 | 一个b两个40分麻豆 一个色亚洲 | 欧美成人免费观看的 | 色播影院性播影院私人影院 | 欧美精品福利在线视频 | 福利120秒 | 日韩亚洲综合精品国产 | 亚洲伦理一二三四 | 国产精品视频免费的 | 欧美xxx4k精品hd | a级毛片在线视频免费观看 a级免费看 | 全黄性性激高免费视频 | 97狠狠干 | 黄色国产在线观看 | 男女无遮挡毛片视频播放 | 91免费网站 | 国产一二三区精品 | 免费操|