我试图在VC ++ MFC 2012中使用MATLAB函数来编辑图像。使用mwArray
时出错。这是我的代码:
BYTE* im=new BYTE();
ImgProc(1,mwArray (im),mwArray(img));
此代码将使用MATLAB函数将图像转换为灰度图像。 img
变量是指向图像缓冲区的BYTE指针。 im
变量是输出图像。
ImgProc
是一个MATLAB函数:
function im=ImgProc(x)
im=rgb2gray(x); //convert to grayscale image
这是从MATLAB转换后的ImgProc
C ++函数
ImgProc(int nargout, mwArray& im, const mwArray& x);
如果有人能帮助我,我感激不尽。我被困了2天。
答案 0 :(得分:1)
您认为mwArray(img)
有什么作用?你会怎么期望它做你想做的事情?我看到的唯一单参数构造函数是:
mwArray(const char* str)
描述
使用
n
创建一个mxCHAR_CLASS
类型n = strlen(str)
数组,并使用提供的字符串中的字符初始化数组的数据。
对于图像,您需要使用以下mwArray
构造函数来创建矩阵:
mwArray(mwSize num_rows, mwSize num_cols, mxClassID mxID, mxComplexitycmplx)