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)用。

主站蜘蛛池模板: 欧美日韩精品一区二区在线线| 国产一级精品毛片基地| 国产偷倩视频| 一级成人a毛片免费播放| 99视频精品在线观看| 国产成人精品午夜视频'| 欧美一级在线看| 亚洲另类色| 久久精品人妻中文系列| yjizz国产在线视频网| 国产精品无码一二三视频| 国产91色| 国产精品女人呻吟在线观看| 久久久久无码国产精品不卡| 国产日本一区二区三区| 偷拍久久网| 国产精女同一区二区三区久| 色老头综合网| 露脸真实国语乱在线观看| 国产免费怡红院视频| 在线观看无码av五月花| 久久精品这里只有精99品| 亚洲国产精品无码久久一线| 国产91视频免费| 2021亚洲精品不卡a| 8090午夜无码专区| 国产亚洲高清视频| 亚洲乱码视频| 日本不卡免费高清视频| 午夜福利亚洲精品| 久久性妇女精品免费| 毛片视频网址| 国产高清毛片| 久久免费视频播放| 一级高清毛片免费a级高清毛片| 亚洲欧美日韩天堂| 四虎永久在线视频| 啊嗯不日本网站| 一级香蕉视频在线观看| 国产高清又黄又嫩的免费视频网站| 欧美国产日韩另类| 99久久精品免费观看国产| 高清免费毛片| 色香蕉网站| 中文字幕天无码久久精品视频免费 | 黄片在线永久| 日韩天堂视频| 97国产成人无码精品久久久| 香蕉精品在线| 国产成人成人一区二区| 亚洲AV无码乱码在线观看代蜜桃| 亚洲日韩高清在线亚洲专区| 黄色免费在线网址| 九九久久99精品| 亚洲高清无码精品| 亚洲Aⅴ无码专区在线观看q| 成人国产精品网站在线看 | 中文字幕在线欧美| 怡红院美国分院一区二区| 久久99热这里只有精品免费看| 最新国产午夜精品视频成人| 亚洲人妖在线| 中文字幕永久在线看| 巨熟乳波霸若妻中文观看免费| 欧洲高清无码在线| 91在线一9|永久视频在线| 国产视频大全| 欧美一区二区福利视频| 久久久精品国产SM调教网站| 国内精品免费| 成人福利在线观看| 高清久久精品亚洲日韩Av| 九九视频免费在线观看| 亚洲无码高清视频在线观看| 日韩精品一区二区三区swag| 久久久国产精品无码专区| 亚洲色图另类| 国产无码精品在线| 国产女人18水真多毛片18精品| 国产精品部在线观看| 精品人妻AV区| 全免费a级毛片免费看不卡|