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

主站蜘蛛池模板: 国内老司机精品视频在线播出| 久久国产精品77777| 国产午夜人做人免费视频中文 | 99精品伊人久久久大香线蕉 | 黄色网站不卡无码| 久操中文在线| 三区在线视频| 人妻无码一区二区视频| 91免费国产高清观看| 熟女日韩精品2区| 亚洲伦理一区二区| 国产精品福利一区二区久久| 一本大道无码日韩精品影视| 在线观看欧美精品二区| 欧美五月婷婷| 伊人国产无码高清视频| 青青青亚洲精品国产| 色成人亚洲| 亚洲综合久久成人AV| 青青网在线国产| 国产成人超碰无码| 亚洲国产中文综合专区在| 色135综合网| 69国产精品视频免费| 99热这里只有精品在线观看| 天天摸夜夜操| 欧美激情第一欧美在线| 亚洲国产综合精品一区| 欧美一区二区三区不卡免费| 综1合AV在线播放| 欧美日韩国产在线人成app| 亚洲 成人国产| 国产精品福利在线观看无码卡| 呦女亚洲一区精品| 在线观看国产黄色| 婷婷成人综合| 青青国产在线| 亚洲色欲色欲www在线观看| 国产乱子伦手机在线| 中文字幕色在线| 亚洲床戏一区| 亚洲天堂网站在线| 国产后式a一视频| 伊人久久大香线蕉成人综合网| 国产精品久久久久久久伊一| 国产美女一级毛片| 欧美成人精品高清在线下载| 国产成人一区免费观看| 久久一本日韩精品中文字幕屁孩| 国产一级小视频| 国产v精品成人免费视频71pao| 98精品全国免费观看视频| 2022精品国偷自产免费观看| 久久免费视频播放| 国产男人的天堂| 国产成人高清在线精品| 天天综合网站| 在线精品视频成人网| 亚洲视频免| 亚洲乱码精品久久久久..| 91精品免费高清在线| 国产成人AV综合久久| 最新日韩AV网址在线观看| 国产人免费人成免费视频| 国产精品.com| 久久精品中文无码资源站| 精品伊人久久久久7777人| 久久精品国产电影| 粉嫩国产白浆在线观看| a毛片基地免费大全| 18禁黄无遮挡免费动漫网站| 亚洲色图在线观看| 欧美另类精品一区二区三区| 亚洲天堂首页| 亚洲成人一区在线| A级全黄试看30分钟小视频| 中文字幕亚洲综久久2021| 国产福利微拍精品一区二区| 亚洲精品另类| 国产毛片高清一级国语| 午夜限制老子影院888| 999国产精品永久免费视频精品久久 |