【转】matlab 生成调用c/c++ 代码 mex 简单实用——修改部分
原文地址:https://blog.csdn.net/xiaoyanghijk/article/details/52370459
?
目標:在matlab中送入兩張圖像(矩陣),對圖像進行處理,輸出為一副圖像(矩陣)。
?
更為詳細的用matlab調用c/c++對數組進行處理的例子,
請見下一個博客: ?http://blog.csdn.net/xiaoyanghijk/article/details/52387089?
更為詳細的代碼下載:http://download.csdn.net/detail/xiaoyanghijk/9618136
?
要熟悉下這個函數的意思:
void?mexFunction(int?nlhs,?mxArray?*plhs[],?int?nrhs,?const?mxArray?*prhs[])?
{
}
Nlhs?:輸入參數個數
Nrhs:輸出參數個數
Plhs[?]:輸入參數列表
Prhs[?]?:輸出參數列表
?
?
開始動手:
第一步:在matalb 當前目錄下放人fun_name.cpp文件。即以函數名命名的文件——
如定義hello.cpp文件在當前路徑下:
? ? ?
#include?"mex.h"?
void?mexFunction(int?nlhs,?mxArray?*plhs[],?int?nrhs,?const?mxArray?*prhs[])?
{
int?i;?
i=mxGetScalar(prhs[0]);?
if(i==1)?
??mexPrintf("hello,world!\n");?
else?
??mexPrintf("大家好!\n");?
}
?
第二步:?在matalb 窗口執行語句:mex ?fun_name.cpp——
這里是輸入:mex hello.cpp,會生成一個?hello.mexw64 。一定要先有這個文件。
?
第三步:執行——
命令行輸入:
hello(1)
回車:
hello,world!
?
實例2:
void ?mexFunction(int ?nlhs, ?mxArray * plhs[], int nrhs, ?const mxArray *prhs[])
{
double *data;?
int M,N;?
int i,j;?
data=mxGetPr(prhs[0]); //獲得指向矩陣的指針?
M=mxGetM(prhs[0]); //獲得矩陣的行數?
N=mxGetN(prhs[0]); //獲得矩陣的列數?
for(i=0;i<M;i++)?
{ ? for(j=0;j<N;j++)?
? ? ?mexPrintf("%4.3f ?",data[j*M+i]);?
? ? ?//mexPrintf("/n");?
? }?
? }
按照上面第二步編譯完成后,命令行輸入:
>>a = [1 2 3; 4 5 6 ;7 8 9; 10 11 12]
回車:
a =
? ? ?1 ? ? 2 ? ? 3
? ? ?4 ? ? 5 ? ? 6
? ? ?7 ? ? 8 ? ? 9
? ? 10 ? ?11 ? ?12
再輸入:
>> hello(a)
1.000 ?2.000 ?3.000 ?/n4.000 ?5.000 ?6.000 ?/n7.000 ?8.000 ?9.000 ?/n10.000 ?11.000 ?12.000 ?/n>>?
?
更為詳細的用matlab調用c/c++對數組進行處理的例子,請見下一個博客: ?
http://blog.csdn.net/xiaoyanghijk/article/details/52387089?
詳細代碼下載:http://download.csdn.net/detail/xiaoyanghijk/9618136
?
參考鏈接:
1)http://blog.csdn.net/gxiaob/article/details/8679770
2)http://blog.csdn.net/jtop0/article/details/7657227
3)?http://blog.sciencenet.cn/home.php?mod=space&uid=43777&do=blog&id=320103?
4)http://mcximing.github.io/2014/12/12/mex/ matlab 與opencv 混編
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【转】matlab 生成调用c/c++ 代码 mex 简单实用——修改部分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习 | 网络搜索及可视化
- 下一篇: python-opencv图像处理之哈里