



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、VC+/mallab混合編程快速提取數(shù)字圖像特征值1、引言VC+是流行的通用程序設(shè)計(jì)語(yǔ)言,靈活高效,使用其MFC進(jìn)行面向?qū)ο缶幊?,可以快捷地?成windows風(fēng)格的人機(jī)交互界而設(shè)計(jì)。matlab是一種數(shù)值計(jì)算能力很強(qiáng)的面向科學(xué)應(yīng)用的 軟件,以矩陣為基本數(shù)據(jù)結(jié)構(gòu)進(jìn)行運(yùn)算,語(yǔ)法簡(jiǎn)潔。matlab針對(duì)科學(xué)研究工作的實(shí)際需要,由領(lǐng)域?qū)<议_(kāi)發(fā)了若干工具箱(函數(shù)庫(kù)),極大地 方便了科研工作。在數(shù)字圖像處理領(lǐng)域,其圖像處理工具箱中現(xiàn)有200多個(gè)工具,可以實(shí)現(xiàn) 大部分處理算法。如果將VC mat lab優(yōu)勢(shì)結(jié)合,進(jìn)行混合編程,可以大幅度提高編程效率 而不失靈活性、可靠性。待征值的選擇和提取是由圖像分析過(guò)程中
2、的一個(gè)主要環(huán)節(jié),是實(shí)現(xiàn)圖像理解的前提。 matlab以矩陣為基本數(shù)據(jù)結(jié)構(gòu),對(duì)處理圖像這種二維數(shù)據(jù)具有編程效率上的先天優(yōu)勢(shì)。在 很多預(yù)處理算法日漸成熟的今天,我們希望用更簡(jiǎn)便的方法來(lái)實(shí)現(xiàn)圖像特征值的提取,從而 將研究重點(diǎn)放到圖像分析和理解上。2、接口實(shí)現(xiàn)及相關(guān)函數(shù)介紹鑒于VC程序界面友好,通用性好,VC/matlab混合編程一般都采用從VC中調(diào)用matlab函 數(shù)的方式。實(shí)現(xiàn)二者的結(jié)合有多種方法。本文采用matlab引擎的方法,這種方法的待點(diǎn)是 操作簡(jiǎn)便,不需要進(jìn)行過(guò)多的設(shè)置和轉(zhuǎn)換,也不需要對(duì)matlab的程序結(jié)構(gòu)有較深研究,只 要熟悉matlab T具箱中相關(guān)函數(shù)即可。缺點(diǎn)是工作環(huán)境內(nèi)必須安裝
3、matlab環(huán)境,另外程序 運(yùn)行時(shí)會(huì)啟動(dòng)matlab進(jìn)程,影響了速度。VC中調(diào)用matlab語(yǔ)言實(shí)現(xiàn)圖像處理的示例程序如下(運(yùn)行環(huán)境VC+6. 0, matlat6. 5): Engine *ep:/義引犁指針if (! (ep=engOpen(NULL) exit(l): /打開(kāi)引犁mxArray *input=NULL, *niim=NULL;/mxArray是專用數(shù)據(jù)結(jié)構(gòu),必須用此結(jié)構(gòu)與引掣區(qū)傳遞 數(shù)搖,這里是義二個(gè)數(shù)據(jù)input用來(lái)傳遞圖像數(shù)搖,num用來(lái)傳遞參數(shù)值const int dims2 = GetWidth0, GetHeightO;/泄義二維數(shù)組大小,即 VC 中像素區(qū)大小
4、 input =mxCreateXximericArray (2, dims, mxVINT8_CLASS, mxREAL);/建立相應(yīng)大小數(shù)據(jù)區(qū) num=iDxCreateDoubleMatrix(1,1,mxREAL) ;/單值參數(shù)也要立義成矩陣形式meracpy (mxGetPr (input), m_pData, high*wide*sizeof (byte): /將 VC 中數(shù)搖賦值給 mat lab 町識(shí)別的變量engPutVariable(ep, input, input);/放入引犁,準(zhǔn)備調(diào)用mat lab函數(shù)進(jìn)行計(jì)算,并命以 別需engPutVariableCep, num*
5、, num):engEvalString(ep, *input=im2bw (input, graythresh (input) *);在引犁中執(zhí)行 mat lab 命令進(jìn)行二值化engEvalString(ep, * num =bwarea (input);):/mat lab 函數(shù)計(jì)算面積大小 input=engGetVariable(ep, *input*); num=engGetVariable(ep, num);/處理后結(jié)果出引 犁double *result=mxGetPr(num) : double real=result0;/得到而積值 mxDestroyArray(input
6、): mxDestroyArray (num): /釋放內(nèi)存 engClose(ep);/關(guān)閉引掣通過(guò)以上幾句程序就實(shí)現(xiàn)了 VC/matlab的交互。本方法的基本思想是:對(duì)于圖像的讀取、 顯示、儲(chǔ)存等基本輸入輸出操作采用VC實(shí)現(xiàn),完全采用VC界而,mat lab完全在后臺(tái)運(yùn)行。 在需要調(diào)用mat lab函數(shù)進(jìn)行圖像處理時(shí),將(?中的圖像數(shù)據(jù)轉(zhuǎn)換為mat lab可識(shí)別的格式 井裝入引製區(qū),調(diào)用mat lab的圖像處理函數(shù)進(jìn)行運(yùn)算,并將結(jié)果轉(zhuǎn)換后復(fù)制回VC。在進(jìn)行 下一步圖像分析時(shí),可利用VC的ODBC功能,將特征數(shù)據(jù)直接轉(zhuǎn)入access等數(shù)據(jù)庫(kù)中。以 下介紹幾個(gè)與特征提取密切相關(guān)的mat lab
7、函數(shù),為簡(jiǎn)便起見(jiàn),省略輸入輸出參數(shù)。帶星號(hào) 的函數(shù)為參考文獻(xiàn)1所自帶,貝非商業(yè)版本可以在該書網(wǎng)站免費(fèi)卜載-regionprops0, imfeatureO,區(qū)域的特征度量.輸出區(qū)域的若干特征值;niean2(). std2(), corr2()二維數(shù)組的摘要統(tǒng)計(jì)值:均值,標(biāo)準(zhǔn)差,相關(guān)系數(shù); bwlabelO將二值化圖像作區(qū)域標(biāo)記,同時(shí)返回標(biāo)記區(qū)域塊數(shù); fft2().dct2().快速傅立葉變換和離散余弦變換,可以求頻域特征statxtureO:紋理特征計(jì)算,返回平均值,標(biāo)準(zhǔn)差,平滑度,直方圖偏斜度,均勻性,紋 理爛;* invmomentsO可計(jì)算出七個(gè)不變矩; *specxture()頻譜
8、特征,計(jì)算S(r)和S( 0 ) *polyangles ()計(jì)算多邊形區(qū)域$頂點(diǎn)內(nèi)角值 上述函數(shù)可以直接計(jì)算二十個(gè)左右特征值,另外通過(guò)這些值之間的運(yùn)算,可以求出更多的值。3、實(shí)例介紹/input為灰度圖像數(shù)搖engEvalString(ep, *num=statxtLire(input);); /調(diào)用 statxture 訃算灰度差分紋理值 num=engGetVariable(ep, num) ;/提取il算結(jié)果,是包含七個(gè)值的數(shù)據(jù)結(jié)構(gòu) double *result=mxGetPr(num);m_raeanl=result0;/第一項(xiàng),平均灰度m_stdl=resultl :/第二項(xiàng),標(biāo)準(zhǔn)
9、差(對(duì)比度m_smooth=result 2;/第三項(xiàng),平滑度m_tm=result3;/第四項(xiàng),三階矩m_asnil=result4:/第五項(xiàng),慣性矩(均衡度)ni_entl=resultE5;/第六項(xiàng),爛下面二值化il算形狀特征engEvalString(ep, *input=im2bw(input, graythresh(input); ”);自動(dòng)計(jì)算閾值進(jìn)行二值 化engEvalString(ep, *input=bwareaopen(output, 1500););形態(tài)學(xué)處理去除小面積區(qū)域 engEvalString(ep, *output=imf訂 1 (output, holes
10、););填補(bǔ)最大面積區(qū)域內(nèi)的空洞engEvalString(ep, output=bwlabel(output) ;);/區(qū)域標(biāo)記后再調(diào)用 props/以下調(diào)用mat lab的regionprops求幾何形狀特征engEvalString(ep, a二regionprops(output, all):num=a. Area:*); num=engGetVariable (ep, num) ;/獲得面積值 result=mxGetPr(num): m_area=result0;/面積值存入VC數(shù)據(jù)engEvalString(ep, *nuni=a. Eccentricity;*);num=eng
11、GetVariable (ep, num) ;/獲得偏心率值result=mxGetPr(nuiii):m_ecc=result0;/同理可求出長(zhǎng)度,寬度值,質(zhì)心坐標(biāo)值,矩形度等若干特征值4、小結(jié)及討論提取特征值前,要進(jìn)行圖像預(yù)處理,如圖像增強(qiáng)及分割等,可以使用matlab的圖像處理工 具,快速實(shí)現(xiàn)相關(guān)功能。用mat lab進(jìn)行圖像預(yù)處理,通常在1個(gè)子函數(shù)內(nèi)就可全部完成, 與VC相比大大節(jié)省了編程量,節(jié)約了時(shí)間,減少了岀錯(cuò)的可能。matlab的工具箱是開(kāi)放的系統(tǒng),隨版本升級(jí)也在不斷擴(kuò)充。使用者,完全可以根據(jù)需要自 己開(kāi)發(fā)相應(yīng)的mat lab不函數(shù),加入自己的工具箱使用。對(duì)于指紋、車牌、人臉等特征的提 取,均可根據(jù)各自不同的需要使用matlab技術(shù)進(jìn)行圖像預(yù)處理。使用混編要選擇mat lab中語(yǔ)法簡(jiǎn)單而功能強(qiáng)大的函數(shù),對(duì)于涉及到人機(jī)交互及某些像素級(jí) 的操作,就可使用VC實(shí)現(xiàn),充分發(fā)揮二者優(yōu)勢(shì)。例如bwlabel 0可以將二值圖像的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)發(fā)展戰(zhàn)略規(guī)劃演講材料
- 三國(guó)演義的英勇故事解讀
- 有機(jī)磷酸酯類中毒解毒藥行業(yè)相關(guān)投資計(jì)劃提議范本
- 貨物運(yùn)輸合作協(xié)議合同
- 英語(yǔ)名詞性從句的種類與功能解析:大學(xué)基礎(chǔ)英語(yǔ)教學(xué)設(shè)計(jì)
- 機(jī)器人銷售合同
- 畢業(yè)答辯建議成績(jī)表
- 市場(chǎng)營(yíng)銷:互聯(lián)網(wǎng)產(chǎn)品經(jīng)理簡(jiǎn)歷
- 危重醫(yī)學(xué)與加強(qiáng)醫(yī)療病房課件
- 工業(yè)產(chǎn)品設(shè)計(jì)流程手冊(cè)
- HGT4134-2022 工業(yè)聚乙二醇PEG
- 組織內(nèi)外部環(huán)境識(shí)別表
- 河邊基礎(chǔ)施工方案
- 國(guó)民經(jīng)濟(jì)行業(yè)分類大類一覽表
- 廣州光伏發(fā)電安裝限高屋頂搭建不得超過(guò)2.8米四周不得圍蔽
- 重修課程免聽(tīng)申請(qǐng)表
- 外出提攜公章申請(qǐng)表
- 可愛(ài)的中國(guó)教案全冊(cè)
- 小學(xué)一年級(jí)勞動(dòng)課教案(全冊(cè))
- 地鐵鋼結(jié)構(gòu)雨棚施工方案
- 421年產(chǎn)1億片頭孢氨芐生產(chǎn)車間工藝設(shè)計(jì)(施施)
評(píng)論
0/150
提交評(píng)論