999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

VC與MATLAB混合編程在圖像識(shí)別中的應(yīng)用

2014-03-11 08:07:58陳玉華林來(lái)賓洛陽(yáng)師范學(xué)院信息技術(shù)學(xué)院西門(mén)子中國(guó)有限公司機(jī)械傳動(dòng)部
關(guān)鍵詞:引擎程序設(shè)置

陳玉華林來(lái)賓/洛陽(yáng)師范學(xué)院信息技術(shù)學(xué)院;西門(mén)子(中國(guó))有限公司機(jī)械傳動(dòng)部

VC與MATLAB混合編程在圖像識(shí)別中的應(yīng)用

陳玉華1林來(lái)賓2/1洛陽(yáng)師范學(xué)院信息技術(shù)學(xué)院;2西門(mén)子(中國(guó))有限公司機(jī)械傳動(dòng)部

詳細(xì)描述了在VC環(huán)境下利用Matlab進(jìn)行圖像識(shí)別、提取的方法。本文以一個(gè)成像光斑的識(shí)別為例,介紹了Matlab引擎的設(shè)置,從而使VC和Matlab之間進(jìn)行通信,實(shí)現(xiàn)圖像的快速識(shí)別。

混合編程;引擎;matlab

引言:MATLAB強(qiáng)大的科學(xué)計(jì)算與可視化功能,簡(jiǎn)單易用的開(kāi)放式可擴(kuò)展環(huán)境,使MATLAB在許多學(xué)科領(lǐng)域中成為計(jì)算機(jī)輔助設(shè)計(jì)與分析、算法研究和應(yīng)用開(kāi)發(fā)的基本工具和首選平臺(tái)。但由于其編譯器采用偽編譯的方式,在MATLAB中編寫(xiě)的程序無(wú)法脫離其工作環(huán)境而獨(dú)立運(yùn)行。針對(duì)這個(gè)問(wèn)題,Mathworks公司為MATLAB提供了應(yīng)用程序接口,允許MATLAB和其他應(yīng)用程序進(jìn)行數(shù)據(jù)交換,并且提供了C/C++數(shù)學(xué)和圖形函數(shù)庫(kù),為在其他程序設(shè)計(jì)語(yǔ)言中調(diào)用MATLAB的高效算法提供了可能。

VC++是微軟公司利用C++的底層機(jī)理開(kāi)發(fā)的編譯器,與其他一些C++編譯器相同,都以C++語(yǔ)言為編譯對(duì)象。

一、VC與matlab接口方式的選擇

VC與MATLAB之間的接口方式有3種:1)在VC中利用MATLABEngine調(diào)用MATLAB函數(shù);2)將MATLAB程序編譯成MEX文件;3)在VC程序中利用MATLAB C++數(shù)學(xué)庫(kù)調(diào)用MATLAB函數(shù)。方法1是采用引擎方式,可以在非MATLAB為主的應(yīng)用程序中使用MATLAB功能,該方法不需連接整個(gè)MATLAB,只需在VC中嵌入必要的MATLAB Engine,便可以調(diào)用MATLAB中幾乎所有的函數(shù)或命令,無(wú)需編譯成C或C++程序;方法2是在以MATLAB為主的應(yīng)用程序中,需要在MATLAB應(yīng)用程序中調(diào)用其他語(yǔ)言的情況下使用,方法3的缺點(diǎn)是不能夠利用MATLAB中豐富的圖形句柄處理函數(shù)。本文采用的是引擎調(diào)用的方法。

二、VC調(diào)用matlab引擎

MATLAB引擎是一組函數(shù),通過(guò)這組函數(shù),用戶(hù)可以在自己的應(yīng)用程序中實(shí)現(xiàn)對(duì)MATLAB的控制,來(lái)完成計(jì)算和圖形繪制等任務(wù),這相當(dāng)于把MATLAB當(dāng)成一個(gè)計(jì)算引擎。在開(kāi)發(fā)一個(gè)專(zhuān)業(yè)的應(yīng)用程序時(shí),可以采用VC開(kāi)發(fā)用戶(hù)界面,而分析部分采用MATLAB編程實(shí)現(xiàn),這樣可以利用MATLAB強(qiáng)大的分析功能,縮短程序開(kāi)發(fā)周期。

MATLAB引擎的操作是通過(guò)啟動(dòng)一個(gè)獨(dú)立于應(yīng)用程序的進(jìn)程來(lái)實(shí)現(xiàn)的。這樣只需要把少量的引擎通信庫(kù)函數(shù)連接到應(yīng)用程序,因?yàn)閼?yīng)用程序和引擎是兩個(gè)獨(dú)立的進(jìn)程,它們之間的通信機(jī)制與開(kāi)發(fā)環(huán)境相關(guān)。MATLAB提供了一個(gè)函數(shù)庫(kù)來(lái)實(shí)現(xiàn)對(duì)MATLAB的控制,這個(gè)函數(shù)庫(kù)的主要功能有:?jiǎn)?dòng)和結(jié)束MATLAB進(jìn)程;從MATLAB發(fā)送的接收數(shù)據(jù);向MATLAB發(fā)送命令。與其他接口方式相比,引擎提供的MATLAB功能支持是最全面的,它可以完成任何計(jì)算和繪圖操作,對(duì)所有的數(shù)據(jù)結(jié)構(gòu)提供完全支持。

三、VC調(diào)用matlab引擎設(shè)置

要在VC中成功編譯MATLAB程序,必須包含引擎頭文件Engine.h并引入MATLAB對(duì)應(yīng)的庫(kù)文件:libeng.lib,libmat. lib,libmx.lib,libmex.lib。具體的設(shè)置方法如下(以VS2005為例),打開(kāi)一個(gè)工程后:

1.通過(guò)菜單工具/選項(xiàng),打開(kāi)設(shè)置屬性頁(yè),進(jìn)入Directories頁(yè)面,在目錄下拉列表框中選擇Include files,添加路徑:“C: matlabexterninclude”(假定matlab安裝在C:matlab目錄)。

2.選擇Library files,添加路徑:C:matlabexternlibwin32microsoftmsvc60,該步只需設(shè)置一次。

3.通過(guò)菜單工程/設(shè)置,打開(kāi)工程設(shè)置屬性頁(yè),進(jìn)入Link頁(yè)面,在Object/library modules編輯框中,添加文件名libmx.lib libmat.lib libmex.lib libeng.lib。

該步每個(gè)工程都要單獨(dú)設(shè)定,因?yàn)槊總€(gè)工程所使用的MATLAB函數(shù)庫(kù)可以不一樣,因此,設(shè)置可能不同。上面只設(shè)定了libmx.lib libmat.lib libmex.lib libeng.lib,如果使用了其它的庫(kù)函數(shù),則需要添加相應(yīng)的庫(kù)文件。

四、VC調(diào)用MATLAB實(shí)現(xiàn)圖像識(shí)別

在VC中編譯代碼時(shí),必須對(duì)頭文件“engine.h”進(jìn)行包含,這個(gè)頭文件非常重要。“engine.h”中包含了MATLAB引擎庫(kù)中所有函數(shù)及其相關(guān)數(shù)據(jù)類(lèi)型的定義,缺少了它,將無(wú)法使用MATLAB引擎。如果不加入這個(gè)頭文件,在程序編譯時(shí)就會(huì)出現(xiàn)“調(diào)用沒(méi)有定義的MATLAB引擎函數(shù)”的錯(cuò)誤提示。

接著啟動(dòng)引擎。定義一個(gè)引擎指針ep,該指針首先指向函數(shù)engOpen(),然后開(kāi)始VC與MATLAB通信。結(jié)合一個(gè)光斑圖像提取的例子。

打開(kāi)引擎后進(jìn)行進(jìn)行通信,在VC環(huán)境下,只需把MATLAB環(huán)境下的。m文件轉(zhuǎn)換為引擎調(diào)用即可。主要代碼如下:

最后,通信完畢后關(guān)閉matlab引擎即可。

程序識(shí)別的圖像前后對(duì)比如下所示:

圖1 識(shí)別前圖像

圖2 識(shí)別后圖像

五、結(jié)論

VC和matlab在編程和計(jì)算上各有自己的優(yōu)缺點(diǎn),將它們結(jié)合起來(lái),可以開(kāi)發(fā)出來(lái)數(shù)值計(jì)算功能強(qiáng)大、界面友好的程序來(lái)。

[1]蘇金明等,Matlab與外部程序接口[M].,電子工業(yè)出版社,2004。

[2]袁林等,VC與MATLAB混合編程在圖像處理中的應(yīng)用 [J].微計(jì)算機(jī)信息,2008第24卷第4-3期

本文為河南省科技攻關(guān)項(xiàng)目項(xiàng)目編號(hào):102102210479。

陳玉華1976.11~,女,講師,碩士,研究方向?yàn)閳D像處理

猜你喜歡
引擎程序設(shè)置
中隊(duì)崗位該如何設(shè)置
試論我國(guó)未決羈押程序的立法完善
“程序猿”的生活什么樣
藍(lán)谷: “涉藍(lán)”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
本刊欄目設(shè)置說(shuō)明
中俄臨床醫(yī)學(xué)專(zhuān)業(yè)課程設(shè)置的比較與思考
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
無(wú)形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開(kāi)發(fā)
主站蜘蛛池模板: 91无码网站| 性色生活片在线观看| 久久99国产综合精品1| 色婷婷成人网| 国产综合色在线视频播放线视| 国产精品男人的天堂| 五月婷婷亚洲综合| 亚洲精品成人片在线播放| 国产熟女一级毛片| 国产高清在线丝袜精品一区| www.精品国产| 免费在线成人网| 国产在线观看高清不卡| 国产欧美日韩专区发布| 国产精品开放后亚洲| 99国产在线视频| 一级成人a做片免费| 欧美亚洲第一页| 人妻出轨无码中文一区二区| 国产精品美女网站| 亚洲国产日韩视频观看| 国产成人综合亚洲欧美在| 91麻豆精品视频| av在线人妻熟妇| 性色一区| 18禁高潮出水呻吟娇喘蜜芽| 国产福利一区在线| 中文字幕在线观| 久久人体视频| 91在线国内在线播放老师| 天天摸天天操免费播放小视频| 亚洲欧洲自拍拍偷午夜色| 成人免费午夜视频| 无码国内精品人妻少妇蜜桃视频| 国产成人无码Av在线播放无广告| 操美女免费网站| 99视频精品全国免费品| 99青青青精品视频在线| 亚洲va欧美ⅴa国产va影院| 亚洲中文字幕97久久精品少妇| 狼友视频一区二区三区| 综合天天色| 亚洲精品高清视频| 凹凸国产熟女精品视频| 欧美啪啪视频免码| 国产一区二区三区夜色| 老司机aⅴ在线精品导航| 乱人伦视频中文字幕在线| 欧美在线精品一区二区三区| 黄色网页在线播放| 无码高清专区| 国产成人精品第一区二区| 91精品视频播放| 欧美成人一区午夜福利在线| 宅男噜噜噜66国产在线观看| 四虎永久在线视频| 亚洲中文久久精品无玛| 日韩欧美网址| 四虎永久在线精品国产免费| 99re热精品视频中文字幕不卡| 欧美一级在线看| 久久毛片免费基地| 狠狠五月天中文字幕| 伊人色天堂| 成人国产精品一级毛片天堂 | 国产成人无码Av在线播放无广告| 国产特级毛片aaaaaa| 毛片基地美国正在播放亚洲 | 色综合中文| 日本一区二区不卡视频| 九九九精品成人免费视频7| 国内精品一区二区在线观看| 亚洲日韩精品综合在线一区二区| 亚洲福利网址| 国产精品网址你懂的| 91精品国产福利| 日韩欧美国产中文| 成人小视频网| 日韩欧美视频第一区在线观看| 日本久久免费| 欧美三级视频在线播放| 性视频一区|