如何從 bcb 傳送字串給 matlab
DESCRIPTION
如何從 BCB 傳送字串給 Matlab. 為何要從 BCB 傳字串給 Matlab. 因為想利用 MATLAB 的便利性來實作視覺密碼,會節省很多時間,但 MATLAB 對程式的介面製作 不是很好上手,所以就利用 BCB 的介面。 利用 BCB 的介面來讀取圖片,再把圖片路徑的字串傳給 MATLAB , MATLAB 就可以讀取到該圖片,就可以對圖片做處理。. BCB 傳送字串給 Matlab. 必要的宣告 #include "engine.h“ Engine *eng; mxArray *Impath;. BCB 傳送字串給 Matlab(cont.). - PowerPoint PPT PresentationTRANSCRIPT
如何從如何從 BCBBCB 傳送字串給傳送字串給MatlabMatlab
為何要從為何要從 BCBBCB 傳字串給傳字串給 MatlabMatlab• 因為想利用 MATLAB 的便利性來實作視覺密碼,會節省很多時間,但 MATLAB 對程式的介面製作 不是很好上手,所以就利用BCB 的介面。
• 利用 BCB 的介面來讀取圖片,再把圖片路徑的字串傳給 MATLAB , MATLAB 就可以讀取到該圖片,就可以對圖片做處理。
BCBBCB 傳送字串給傳送字串給 MatlabMatlab
• 必要的宣告• #include "engine.h“
•Engine *eng;
•mxArray *Impath;
BCBBCB 傳送字串給傳送字串給 Matlab(cont.)Matlab(cont.)• BCB 中開圖的程式碼:if(OpenPictureDialog1->Execute())
{
AnsiString path;
path=OpenPictureDialog1->FileName;
Image1->Picture->Bitmap->LoadFromFile(path);
Impath=mxCreateString(path.c_str());
engPutVariable(eng,"Impath",Impath);
engEvalString(eng,"Im=imread(Impath);");
}
如何將處理過的圖片傳回如何將處理過的圖片傳回 BCBBCB
• 這裡所用的方 法是由 MATLAB 存好圖檔,
再由 BCB 去讀取。要注意的是 MATLAB
存圖檔的指令是” imwrite(A, filename, fmt)” ,
A 是要存的圖, filename 是的檔名 ,fmt 是
格式。
• 例如: imwrite(im, ‘picture.bmp’ , ‘bmp’)
如何將處理過的圖片傳回如何將處理過的圖片傳回BCB(cont.)BCB(cont.)
• MATLAB 存圖檔的位置是在 Current Directory ,其預設值是在 C:\MATLAB701\work ,如果要改變位置可在 BCB 中加入engEvalString(eng,“cd C:/‘Documents and Settings/’kAMD/ 桌面 /Matlab_function/;”);
• MATLAB 完成存圖的動作後, BCB 即可讀入圖檔。
• 目前的方法要先設定好存圖的位置,在 BCB的程式中加入該路徑。