日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

【转】matlab 生成调用c/c++ 代码 mex 简单实用——修改部分

發(fā)布時間:2025/3/15 c/c++ 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】matlab 生成调用c/c++ 代码 mex 简单实用——修改部分 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原文地址:https://blog.csdn.net/xiaoyanghijk/article/details/52370459

?

目標:在matlab中送入兩張圖像(矩陣),對圖像進行處理,輸出為一副圖像(矩陣)。

?

更為詳細的用matlab調(diào)用c/c++對數(shù)組進行處理的例子,

請見下一個博客: ?http://blog.csdn.net/xiaoyanghijk/article/details/52387089?

更為詳細的代碼下載:http://download.csdn.net/detail/xiaoyanghijk/9618136

?

要熟悉下這個函數(shù)的意思:

void?mexFunction(int?nlhs,?mxArray?*plhs[],?int?nrhs,?const?mxArray?*prhs[])?

{

}

Nlhs?:輸入?yún)?shù)個數(shù)

Nrhs:輸出參數(shù)個數(shù)

Plhs[?]:輸入?yún)?shù)列表

Prhs[?]?:輸出參數(shù)列表

?

?

開始動手:

第一步:在matalb 當前目錄下放人fun_name.cpp文件。即以函數(shù)名命名的文件——

如定義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 窗口執(zhí)行語句:mex ?fun_name.cpp——

這里是輸入:mex hello.cpp,會生成一個?hello.mexw64 。一定要先有這個文件。

?

第三步:執(zhí)行——

命令行輸入:

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]); //獲得矩陣的行數(shù)?
N=mxGetN(prhs[0]); //獲得矩陣的列數(shù)?
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調(diào)用c/c++對數(shù)組進行處理的例子,請見下一個博客: ?

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位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的【转】matlab 生成调用c/c++ 代码 mex 简单实用——修改部分的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。