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

2VC++與MATLAB混合編程方法在圖像處理中的應(yīng)用

2014-10-21 14:24:29畢雪華王超
電子世界 2014年12期

畢雪華 王超

【摘要】文章介紹了Visual C++作為一種面向?qū)ο筌浖_發(fā)語(yǔ)言的長(zhǎng)處、Matlab引擎(Matlab Engine)的特點(diǎn)及其在圖像處理方面的優(yōu)勢(shì),并介紹了一種應(yīng)用VC++ 調(diào)用Matlab引擎本方法實(shí)現(xiàn)VC++與Matlab的混合編程,并將該方法應(yīng)用于數(shù)字圖像處理中。

【關(guān)鍵詞】Visual C++;Matlab引擎;圖像處理;混合編程

1.引言

Matlab,具有非常強(qiáng)大的數(shù)值計(jì)算、數(shù)據(jù)分析處理、系統(tǒng)分析、圖形顯示甚至符號(hào)運(yùn)算的功能。VC++是當(dāng)前Windows 下的主要編程語(yǔ)言之一,把Matlab與Visual C++在圖像處理的應(yīng)用中結(jié)合起來,將會(huì)大大提高編程效率。本文通過在Visual C++中調(diào)用Matlab引擎的方法進(jìn)行圖像處理混合編程,這樣既方便了調(diào)用Matlab工具箱中的圖像處理函數(shù),又精簡(jiǎn)了源程序代碼,還保留了Visual C++面向?qū)ο蠹翱梢暬萕INDOWS程序風(fēng)格和快速處理數(shù)據(jù)的能力,雖然這種方法并不能脫離Matlab環(huán)境獨(dú)立運(yùn)行,但是事實(shí)證明:在需要Matlab強(qiáng)大工具箱支持的情況下,這種方法是行之有效的最好解決辦法。

2.方法

2.1 混合編程簡(jiǎn)介

Matlab與高級(jí)語(yǔ)言接口的方法有很多種,按各種方法要求的環(huán)境不同,分為兩類:一類為需要Matlab環(huán)境支持的調(diào)用方法,這種方法要求系統(tǒng)安裝Matlab環(huán)境,如:調(diào)用引擎函數(shù)庫(kù)、使用ActiveX等。另一類是能生成獨(dú)立可執(zhí)行程序的方法,這種方法不再需要安裝Matlab環(huán)境,而只需要拷貝部分Matlab的動(dòng)態(tài)鏈接庫(kù)。這類方法如:直接調(diào)用數(shù)學(xué)函數(shù)庫(kù)、使用編譯生成的獨(dú)立可執(zhí)行代碼等。

2.2 Matlab引擎介紹

Matlab engine提供了一組Matlab API函數(shù)(Application Program Interface),我們通過一種專門的對(duì)象類型———Matlab數(shù)組(mxArray)來完成Matlab引擎與Visual C++之間的數(shù)據(jù)交換。我們不必關(guān)心Matlab Engine是如何實(shí)現(xiàn)的,只要調(diào)用這些API函數(shù)即可。

3.系統(tǒng)設(shè)計(jì)

3.1 Visual C++與Matlab混合編程環(huán)境

3.1.1 Matlab環(huán)境設(shè)置:

Visual C++ 6.0要調(diào)用 Matlab Engine,還需要庫(kù)文件的支持,由于采用的是Matlab6.5,它自帶了庫(kù)文件,如:libeng.lib libmx.lib libmat.lib libmatlb.lib libmatlbmx.lib 等。需要把它們添加到工程當(dāng)中。但是如果應(yīng)用Matlab 版本過低 ,則需要將Matlab安裝目錄下\extern\include下的libeng.def libmx.def libmat.def 等文件生成相應(yīng)的庫(kù)文件。

3.1.2 Visual C++ 6.0設(shè)置

在VC++中創(chuàng)建單文檔、多文檔或者是基于對(duì)話框的MFC工程。將上述庫(kù)文件libeng.lib libmx.lib libmat.lib libmatlb.lib libmatlbmx.lib 等添加到工程中:Visual C++工程當(dāng)中project選項(xiàng)→setting選項(xiàng)→link選項(xiàng)卡→添加到Object/library Modules當(dāng)中去,特別注意:*.LIB中間只能用空格間斷。

設(shè)置Visual C++工具條中的select選項(xiàng):在tools菜單中選擇select子菜單,然后再directory標(biāo)簽下添加一個(gè)指向c:\matlab6p5\extern\include目錄的include file;再添加一個(gè)指向c:\matlab6p5\extern\lib\win32\microsoft\msvc60目錄的library files

在所建立的工程當(dāng)中添加engine.h matlab.h,在相應(yīng)工程的.CPP中添加#include “engine.h” 和 #include “matrix.h”

3.2 程序?qū)崿F(xiàn)

本程序使用VC++調(diào)用Matlab引擎方法實(shí)現(xiàn)圖像處理:圖像濾波、邊緣提取、圖像反色、圖像二值化、圖像變色 。利用圖像反色舉例說明,其他效果實(shí)現(xiàn)方法與其類似,只要m文件編寫順利并調(diào)試通過,則實(shí)現(xiàn)方法相同。

3.2.1 .m文件編寫

在matlab中很容易能夠編寫出圖像反色的如下程序:

bor=imread('要顯示的圖片');

bor=double(bor);

[m n r]=size(bor);

for(k=1:r)

inv(:,:,k)=255-bor(:,:,k)

end

i=uint8(inv);

imshow(i)

3.2.2 VC++工程代碼編寫

在VC++中創(chuàng)建單文檔、多文檔或者是基于對(duì)話框的MFC工程。根據(jù)具體需要,建立工程,加入button控件,設(shè)置button控件的屬性,這里取名ID_rgb。

通過VC環(huán)境從用戶處得到的圖片的文件名是CString型 但是在Matlab工作區(qū)只支持char型的數(shù)據(jù),所以將CString型轉(zhuǎn)換為char型

通過本軟件圖像處理過程可以看出,在Visual C++中調(diào)用Matlab引擎簡(jiǎn)單的幾條語(yǔ)句就可以很方便的對(duì)給定的圖像進(jìn)行各種各樣的處理,如上面所提到的:圖像濾波、邊緣提取、圖像反色、圖像二值化、圖像變色等,由于篇幅所限,僅列部分圖示。由于處理后的圖片是用Matlab打開的,Matlab對(duì)顯示的圖片提供了一系列的操作,如圖像的保存、放大、縮小、多角度觀察,在圖片上添加文字等等,而這些要在VC中編程實(shí)現(xiàn),將非常的麻煩。有數(shù)據(jù)顯示,用Matlab與Visual C++ 混合編程代碼長(zhǎng)度要比單一Visual C++代碼長(zhǎng)度大大縮短,并且運(yùn)行時(shí)間要比單一Matlab語(yǔ)言編程減少許多,運(yùn)行效率也有很大的提高。雖然引擎方法離不開Matlab環(huán)境,但是還是能夠提供較大的便利。

4.結(jié)論

綜上所述,利用Matlab engine簡(jiǎn)單有效的實(shí)現(xiàn)在VC++中調(diào)用Matlab的功能,從而實(shí)現(xiàn)了圖像的處理。通過這個(gè)設(shè)計(jì)發(fā)現(xiàn)用引擎方法實(shí)現(xiàn)VC++和Matlab混合編程用于圖像處理有非常大的優(yōu)勢(shì),這表明對(duì)于一個(gè)涉及到圖像處理和操作并在Windows環(huán)境中運(yùn)行的一個(gè)應(yīng)用軟件的開發(fā),采用VC++和Matlab協(xié)同工作的方法可以大大提高軟件的開發(fā)效率,有利于充分發(fā)揮兩種軟件的自身所具有的獨(dú)特的優(yōu)勢(shì),取得很好的效果。

參考文獻(xiàn)

[1]馬興義.Matlab 應(yīng)用開發(fā)指南[M].北京:機(jī)械工業(yè)出版社,2001(11).

[2]楊麗娜.淺析VC++與Matlab混合編程方法在圖像處理中的應(yīng)用[J].大眾科技,2006,88(2):73:74.

[3]劉志儉.Matlab應(yīng)用程序接口用戶指南[M].北京科學(xué)出版社,2000.

[4]陶紅,袁金榮.Matlab與C/VisualC++混合編程的實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2000

基金項(xiàng)目:新疆醫(yī)科大學(xué)科研創(chuàng)新基金(編號(hào):XJC201317)。

作者簡(jiǎn)介:畢雪華(1982—),碩士,副教授,研究方向:計(jì)算機(jī)應(yīng)用。

主站蜘蛛池模板: 丰满人妻中出白浆| 精品人妻无码中字系列| 又粗又硬又大又爽免费视频播放| 国产久操视频| 四虎影视永久在线精品| 国产精品福利在线观看无码卡| 尤物国产在线| 97国产在线视频| 亚洲三级成人| 亚洲国产精品一区二区第一页免| 精品成人一区二区三区电影| 99精品福利视频| 国产精品九九视频| 亚洲高清无码久久久| 亚洲福利一区二区三区| 日韩天堂视频| 99久久亚洲精品影院| 亚洲日本韩在线观看| 狠狠综合久久| 午夜国产理论| 亚洲欧洲日韩久久狠狠爱| 午夜视频日本| 97国内精品久久久久不卡| 99久久精品国产综合婷婷| 欧美日韩免费在线视频| 欧美三級片黃色三級片黃色1| 日本福利视频网站| av无码久久精品| 精品人妻系列无码专区久久| 国产欧美自拍视频| 久久福利网| 黄色一级视频欧美| P尤物久久99国产综合精品| 香蕉国产精品视频| 国产高清在线观看| 最新亚洲人成无码网站欣赏网| 国产精品福利社| 久久香蕉欧美精品| 无码AV日韩一二三区| 午夜福利在线观看成人| 欧美精品啪啪| 国产高清精品在线91| 婷婷六月综合网| 狠狠色丁香婷婷综合| 高清国产在线| 亚洲免费三区| 国产成人91精品| 999福利激情视频| 精品国产一区91在线| 亚洲Va中文字幕久久一区 | 日韩免费毛片| 国产玖玖玖精品视频| 丁香六月激情综合| 国产无码性爱一区二区三区| 日韩欧美中文| 日本在线亚洲| 亚洲浓毛av| 精品欧美日韩国产日漫一区不卡| 亚洲成AV人手机在线观看网站| 国产一区二区精品福利| 亚洲永久免费网站| 日韩欧美国产三级| 最新日本中文字幕| 久久国产黑丝袜视频| 亚洲人成影院在线观看| 精品欧美视频| 国产99在线| 免费国产高清精品一区在线| 久草视频福利在线观看 | 国产在线观看一区精品| 婷婷午夜影院| 国产人人射| 亚洲aaa视频| 精品视频第一页| 国产在线专区| 天堂在线www网亚洲| 久久国产成人精品国产成人亚洲 | 国精品91人妻无码一区二区三区| 亚洲综合经典在线一区二区| 午夜毛片免费观看视频 | 午夜在线不卡| 人人91人人澡人人妻人人爽|