


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、VC+/matlab混合編程快速提取數字圖像特征值2008-06-12 17:021、引言VC+是流行的通用程序設計語言,靈活高效,使用其MFC進行面向對象編程,可以快捷地完成windows風格的人機交互界面設計。matlab是一種數值計算能力很強的面向科學應用的軟件,以矩陣為基本數據結構進行運算,語法簡潔。matlab針對科學研究工作的實際需要,由各領域專家開發了若干工具箱(函數庫),極大地方便了科研工作。在數字圖像處理領域,其圖像處理工具箱中現有200多個工具,可以實現大部分處理算法。如果將VC與matlab優勢結合,進行混合編程,可以大幅度提高編程效率而不失靈活性、可靠性。特征值的選擇和
2、提取是由圖像分析過程中的一個主要環節,是實現圖像理解的前提。matlab以矩陣為基本數據結構,對處理圖像這種二維數據具有編程效率上的先天優勢。在很多預處理算法日漸成熟的今天,我們希望用更簡便的方法來實現圖像特征值的提取,從而將研究重點放到圖像分析和理解上。2、接口實現及相關函數介紹鑒于VC程序界面友好,通用性好,VC/matlab混合編程一般都采用從VC中調用matlab函數的方式。實現二者的結合有多種方法。本文采用matlab引擎的方法,這種方法的特點是操作簡便,不需要進行過多的設置和轉換,也不需要對matlab的程序結構有較深研究,只要熟悉matlab工具箱中相關函數即可。缺點是工作環境內
3、必須安裝matlab環境,另外程序運行時會啟動matlab進程,影響了速度。VC中調用matlab語言實現圖像處理的示例程序如下(運行環境VC+6.0,matlat6.5):Engine *ep;/定義引掣指針if(!(ep=engOpen(NULL) exit(1); /打開引掣mxArray *input=NULL,*num=NULL;/mxArray是專用數據結構,必須用此結構與引掣區傳遞數據,這里定義二個數據input用來傳遞圖像數據,num用來傳遞參數值const int dims2=GetWidth(),GetHeight();/定義二維數組大小,即VC中像素區大小input=mx
4、CreateNumericArray(2,dims,mxUINT8_CLASS,mxREAL);/建立相應大小數據區num=mxCreateDoubleMatrix(1,1,mxREAL);/單值參數也要定義成矩陣形式memcpy(mxGetPr(input),m_pData,high*wide*sizeof(byte);/將VC中數據賦值給matlab可識別的變量engPutVariable(ep,"input",input);/放入引掣,準備調用matlab函數進行計算,并命以別名engPutVariable(ep,"num",num);engEva
5、lString(ep,"input=im2bw(input,graythresh(input)");/在引掣中執行matlab命令進行二值化engEvalString(ep,"num=bwarea(input);");/matlab函數計算面積大小input=engGetVariable(ep,"input"); num=engGetVariable(ep,"num");/處理后結果出引掣double *result=mxGetPr(num); double real=result0;/得到面積值 mxDestro
6、yArray(input); mxDestroyArray(num); /釋放內存engClose(ep);/關閉引掣通過以上幾句程序就實現了VC與matlab的交互。本方法的基本思想是:對于圖像的讀取、顯示、儲存等基本輸入輸出操作采用VC實現,完全采用VC界面,matlab完全在后臺運行。在需要調用matlab函數進行圖像處理時,將VC中的圖像數據轉換為matlab可識別的格式并裝入引掣區,調用matlab的圖像處理函數進行運算,并將結果轉換后復制回VC。在進行下一步圖像分析時,可利用VC的ODBC功能,將特征數據直接轉入access等數據庫中。以下介紹幾個與特征提取密切相關的matlab函
7、數,為簡便起見,省略輸入輸出參數。帶星號的函數為參考文獻1所自帶,其非商業版本可以在該書網站免費下載。regionprops(),imfeature(),區域的特征度量.輸出區域的若干特征值;mean2(), std2(), corr2()二維數組的摘要統計值:均值,標準差,相關系數;bwlabel() 將二值化圖像作區域標記,同時返回標記區域塊數;fft2(),dct2(), 快速傅立葉變換和離散余弦變換,可以求頻域特征*statxture();紋理特征計算,返回平均值,標準差,平滑度,直方圖偏斜度,均勻性,紋理熵;* invmoments() 可計算出七個不變矩;*specxture()頻
8、譜特征,計算S(r)和S()*polyangles()計算多邊形區域各頂點內角值上述函數可以直接計算二十個左右特征值,另外通過這些值之間的運算,可以求出更多的值。3、實例介紹/input為灰度圖像數據engEvalString(ep,"num=statxture(input);"); /調用statxture計算灰度差分紋理值num=engGetVariable(ep,"num");/提取計算結果,是包含七個值的數據結構double *result=mxGetPr(num);m_mean1=result0;/第一項,平均灰度
9、60; m_std1=result1;/第二項,標準差(對比度m_smooth=result2;/第三項,平滑度 m_tm=result3;/第四項,三階矩 m_asm1=result4;/第五項,慣性矩(均衡度)m_ent1=result5;/第六項,熵/下面二值化計算形狀特征engEvalString(ep,"input=im2bw(input,graythresh(input);”);自動計算閾值進行二值化engEvalString(ep,"input=bwareaopen(output,1500
10、);");形態學處理去除小面積區域engEvalString(ep,"output=imfill(output,'holes');");填補最大面積區域內的空洞 engEvalString(ep,"output=bwlabel(output);");/區域標記后再調用props /以下調用matlab的regionprops求幾何形狀特征 engEvalString(ep,"a=regionprops(output,'all');n
11、um=a.Area;");num=engGetVariable(ep,"num");/獲得面積值result=mxGetPr(num);m_area=result0;/面積值存入VC數據 engEvalString(ep,"num=a.Eccentricity;");num=engGetVariable(ep,"num");/獲得偏心率值result=mxGetPr(num);m_ecc=result0;/同理可求出長度,寬度值,質心坐標值,矩形度等若干特征值4、 小結及討論提取特征值前,要進行圖像預處理,如圖像增強及分割等,可以使用matlab的圖像處理工具,快速實現相關功能。用matlab進行圖像預處理,通常在1個子函數內就可全部完成,與VC相比大大節省了編程量,節約了時間,減少了出錯的可能。matlab的工具箱是開放的系統,隨版本升級也在不斷擴充。使用者,完全可以根據需要自己開發相應的matlab不函數,加入自己的工具箱使用。對于指紋、車牌、人臉等特征的提取,均可根據各自不同的需要使用matlab技術進行圖像預處理。使用混編要選擇matlab中語法簡單而功能強大的函數,對于涉
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外幣融資市場的風險管理方法探討考核試卷
- 森林資源動態監測與評價考核試卷
- 航空運動器材展示與體驗活動策劃考核試卷
- 生物質能發電的市場分析與發展趨勢考核試卷
- 紡織原料企業的庫存控制與物流優化考核試卷
- 泡沫塑料在藝術與設計中的應用考核試卷
- 電動機制造中的設備升級與技術改造考核試卷
- 肥料制造過程中的生產效率與質量控制考核試卷
- 生物質燃料顆粒生產與綠色供應鏈管理及環保責任合同
- 造紙行業質檢員勞務派遣與環保合同
- 2025中考數學二輪復習-二次函數與三角形面積【課件】
- 2024年遼寧省公務員省考《行測》真題(含答案)
- 內蒙古機電職業技術學院單獨招生(機電類)考試題(附答案)
- 2024年認證行業法律法規及認證基礎知識答案
- 南外加試試卷
- 黑龍江省中職畢業生對口專業升高職院校招生統一考試英語卷
- 2025年安徽公共資源交易集團招聘筆試參考題庫含答案解析
- 四川省射洪市金華鎮初級中學-以終為始 育夢成光-初二上期末家長會【課件】
- 外研版(2025新版)七年級下冊英語Unit 5 學情調研測試卷(含答案)
- 2025年新高考語文模擬考試試卷(五)
- 人教版2025九年級道德與法治中考備考復習計劃
評論
0/150
提交評論