2010年9月2日 星期四

MATLAB 使用 OpenVC


首先這是我使用的軟體版本
(MATLAB和C軟體的版本新舊最好不要相差太遠,否則可能沒辦法互相支援)
MATLAB 7.9.0(R2009b)
Microsoft Visual Studio 2008
OpenCV 2.0
Step1:
1.先將上述軟體安裝完成,OpenCV 2.0安裝可參考另一教學檔
  開啟MATLAB輸入”mex -setup”。

2.則會出現”Would you like mex to locate installed compilers [y]/n?
  的訊息,輸入”y”。

3.則會出現選擇編譯器的訊息,請選擇”Microsoft Visual C++ 2008 SP1 in C:\Program Files\Microsoft Visual Studio 9.0”。
則會出現是否確定的訊息,輸入”y”。
1
2
3
4
成功則會出現下圖。
5
Step2:
1.開啟我的電腦在網址列輸入”C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R2009b”。
2.選擇”mexopts.bat”右鍵編輯。
6
7
Step3:
1.在”set MATLAB=%MATLAB%”上方輸入”set OPENCVDIR=C:\OpenCV2.0\vc2008”。
8
2.在”set LIB=”後方輸入”;%OPENCVDIR%\lib;%OPENCVDIR%\bin”。
9
10
3.在”set INCLUDE=”後方輸入”;%OPENCVDIR%\include\opencv”。
11
12
4.在”set LINKFLAGS=”後方輸入” cxcore200d.lib cv200d.lib highgui200d.lib cxcore200.lib cv200.lib highgui200.lib ”。
13
14
Step4:
1.開啟MATLAB新建一個資料夾,並在資料夾內新增一個”OpenCVTest.cpp”檔,內容如下。
/***************************************************************************
* Function: MATLAB 2009b use OpenCV2.0 *
* File name: OpenCVTest.cpp *
* Author: Chun-Ju Wu *
* Date Created: 2009/12/05 *
* Last modified: 2009/12/05 *
****************************************************************************/
#include "highgui.h"
#include "mex.h"
void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[])
{
IplImage *InImage;
InImage = cvLoadImage("lena.bmp",-1);
CvSize Size1 = cvGetSize(InImage);
//建立視窗(視窗名稱,參數)
cvNamedWindow("InImage",1);
//顯示影像(視窗名稱,影像檔案)
cvShowImage("InImage",InImage);
cvWaitKey(0); //按下任意按鍵可將圖片關閉
}
15
2.然後輸入”mex OpenCVTest.cpp”。
16
3.若成功此資料夾則會出現”OpenCVTest.mexw32”檔案。
17
4.將”lena.bmp”複製至此資料夾。
18
19
5.接著使用MATLAB輸入”OpenCVTest”。
20
6.若成功則會出現此圖。
21

沒有留言: