技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于數(shù)字圖像處理技術(shù)的工程檢測軟件設(shè)計

基于數(shù)字圖像處理技術(shù)的工程檢測軟件設(shè)計

時間:2006-04-25 13:41:00來源:0

導(dǎo)語:?基于數(shù)字圖像處理技術(shù)的工程檢測軟件設(shè)計
本文以VB6.0為客戶,把AUTOCAD2000和MATLAB6.5為服務(wù)器,該軟件為圖像的顯示、處理提供了一個綜合的交互環(huán)境。通過對數(shù)碼圖像進行處理,獲得了工程幾何尺寸,從而很好的解決了工程問題的圖形檢測軟件部分的構(gòu)建。 關(guān)鍵詞: 圖像處理 邊緣檢測算法 ABSTRACT This method is realized by Visual Basic 6.0 language which is the customer. The service is AUTOCAD and MATLAB. The software provides an integrated environment for interactive image display and exploration. It is able to get the dimension of a workpiece by dealing with a digital image. Keywords: image processing edge detection algorithms 一、 概述   利用工業(yè)數(shù)碼相機拍攝照片,獲取模擬圖像,再通過圖像采集卡,對圖像進行離散化 后傳送給計算機,計算機將得到的數(shù)字圖像按一定的圖像文件格式保存;然后調(diào)用該圖像處理系統(tǒng)對圖像處理分析,根據(jù)需要提取的特征值,最后對得到的特征數(shù)值進行數(shù)據(jù)重構(gòu)分析,獲取精度公差結(jié)果。 二、 該軟件的構(gòu)件關(guān)系   本軟件的設(shè)計是以VB6.0為客戶,MATLAB6.5與AUTOCAD為服務(wù)器來共同完成的。利用VB的可視化設(shè)計構(gòu)建人機對話界面,利用MATLAB的圖形處理功能和強大的編程功能完成軟件核心處理,而后利用AUTOCAD的圖形標注和測量功能完成圖像數(shù)據(jù)的獲得。   對AutoCAD對象控制[1]:acaddoc.sendcommand "符合Autocad 的指令" ;該命令可以向AutoCAD發(fā)出指令調(diào)用且執(zhí)行該指令。   對MATLAB的對象控制[2]:在將MATLAB作為服務(wù)器利用ActiveX技術(shù)進行調(diào)用時,在操作系統(tǒng)的注冊表中只有以下三個函數(shù)可以用。 1) matlab.execute “ MATLAB格式的程序”;該句用于執(zhí)行MATLAB的命令 2) matlab.getfullmatrix(“a”, “base”, “mreal”,“mimag”);該句用于執(zhí)行從MATLAB中讀出距陣的數(shù)值,放在數(shù)組a中,mreal為距陣的實部,mimag為距陣的虛部。 3) matlab.putfullmatrix(“a”, “base”, “mreal”,“mimag”);該句用于執(zhí)行把外部的數(shù)組讀入到MATLAB中距陣的數(shù)值,放在距陣a中,mreal為距陣的實部,mimag為距陣的虛部。   在VB中應(yīng)用符合MATLAB與AutoCAD的命令,首先必須建立VB與MATLAB,VB與AutoCAD之間的聯(lián)系。這是通過在VB中書寫公用變量聲名的方式來實現(xiàn)的。 其核心程序為: 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 "無法引導(dǎo)AUTOCAD,請檢查是否已安裝了AUTOCAD2000." End If End If Set acaddoc = acadapp.activedocument ;設(shè)置autocad的具體工作情況 Set mdspace = acaddoc.modelspace Set acadutil = acaddoc.utility acadapp.Visible = False 三、 軟件的核心算法 1、 灰度圖像的算法   邊緣是指其周圍象素灰度有階躍變化或者屋頂變化的那些要素的集合[4]。求解二維實函數(shù)的梯度后選擇合適的閾值提取邊緣的方法稱為梯度閾值法。這種微分算法運算簡單,但抗干擾能力差。經(jīng)典的邊緣檢測方法是考察圖像的每個像素的某個領(lǐng)域內(nèi)灰度的變化,利用邊緣鄰近一階或二階導(dǎo)數(shù)變化規(guī)律,用簡單的方法檢測邊緣,該方法常被稱為邊緣檢測局部算子。 Roberts算子的基本原理:   對數(shù)字圖像的灰度函數(shù)為Z=f(x,y),x和y分別為像素的坐標。若在坐標點(x,y)處有邊緣,則利用f(x,y)在x與y方向上的變化率可以算出其變化最快的方向,即梯度方向。   若考慮數(shù)字圖像的離散域,可以直接用圖像的一階差分代替圖像函數(shù)的偏導(dǎo)數(shù),二維離散圖像函數(shù)在x方向與y方向的一階差分分別定義為f(x+1,y)-f(x,1)與f(x,y+1)-f(x,y)。 2、 二值圖像的算法   二值圖像中所有的像素只能從0和1這兩個值中取值,因此,在MATLAB中,二值圖像用一個由0和1組成的二維矩陣來表示。它們分別代表著關(guān)閉和打開,關(guān)閉表示該像素處于背景,而打開表示該像素處于前景。以這種方式來進行操作圖像更容易識別出圖像的結(jié)構(gòu)特征。 四、 該軟件的操作方法   首先是,原照片圖像的獲取工作??梢允遣噬掌部梢允呛诎渍眨鼈兌际悄M圖像,如果想要對其進行處理就必須先將其轉(zhuǎn)換為數(shù)字圖像。其次,是圖像的預(yù)處理。用戶可以通過該軟件進行各種圖像格式的剪裁、翻轉(zhuǎn)、比例調(diào)整、濾波,二值圖像的腐蝕處理、膨脹處理、直方圖的均衡化等等。再次,是灰度圖像的處理。用戶可以根據(jù)自己的需要通過比較各種算子的處理結(jié)果來確定所獲取的圖像,及而是對灰度果圖像的處理結(jié)果進行圖像的擬合重構(gòu)分析。如果用戶對灰度圖像的處理結(jié)果不滿意,可以通過二值圖像操作菜單欄進行二值圖像的相關(guān)操作;在這里用戶可以進行,二值圖像的骨架化處理,其精度可以高達一個象素級。接下來,用戶將進行的是圖像幾何尺寸的重構(gòu)和公差的計算顯示。在此處,用戶可以通過點擊菜單欄相應(yīng)的內(nèi)容獲取,其點擊的順序是從上向下依次序點擊。最后,在相關(guān)信息菜單欄用戶可以通過點擊獲取已打開的圖片信息,圓度公差表以及該軟件的版權(quán)聲明信息。 五、 一個簡單的實例 1.該軟件的安裝 單擊setup.exe,依照一般軟件的安裝方式就可以完成安裝。初始密碼為:111111。 圖1 安裝界面 圖2 初始界面 2.該軟件的操作 依照該軟件的相關(guān)菜單就可以完成操作。其順序為:圖像的預(yù)處理,灰度處理(或二值處理),數(shù)據(jù)重構(gòu),公差獲得。 以一個茶杯的照片為例:茶杯直徑為35mm;其點陣1024×768像素 圖3 原始圖像 圖4 灰度圖像剪裁(488×488像素) 圖5 該照片的灰度直方圖 圖6 灰度算子獲取輪廓邊界 圖7 圓形的重構(gòu) 結(jié)果分析: 外包絡(luò)圓直徑為像素492; 內(nèi)包絡(luò)圓直徑為像素486; 該茶杯的圓度公差為6個像素,即0.05mm。 該結(jié)果與實測結(jié)果基本吻合。 3.注意事項   該軟件要求用戶系統(tǒng)中必須安裝MATLAB和AUTOCAD;如果沒用安裝其中的任何一個,本軟件將提示用戶不可正常工作的原因。 六、 結(jié)束語   通過以上分析,文中已經(jīng)清晰地構(gòu)建出了該軟件的系統(tǒng)模型。文中同時給出了核心部分程序的基本算法以及三個軟件的調(diào)用申請指令;這對于圖形圖像軟件的開發(fā)者來說,具有較好的參考價值。實踐表明,本軟件運行結(jié)果真實、有效,具有很強的實用性。 參考文獻 [1] 胡海青等 著.Autocad的設(shè)計與二次開發(fā)[M].北京:化學工業(yè)出版社,2001,3. [2] 王曉丹,吳崇明 編著.基于MATLAB的系統(tǒng)分析與設(shè)計——圖像處理[M].西安:西安電子科技大學出版社,2004,5. [3] 張兆禮,趙春暉,梅曉丹. 現(xiàn)代圖像處理技術(shù)及Matlab 實現(xiàn)[M]. 北京:人民郵電出版社, 2001,5. [4] 張杰.一種實用的二值圖像細化算法[J]. 計算機應(yīng)用及軟件,1998,(12):28-32.   作者單位:上海美諾福實驗自動化有限公司廣州辦事處   地址: 廣州市經(jīng)濟技術(shù)開發(fā)區(qū)青年路9號利豐大廈北塔1705室 510730  Email:wjhyuanzhe@126.com

標簽:

點贊

分享到:

上一篇:單片機開發(fā)中應(yīng)掌握的基本技巧

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號