pa2sample.exe中0x74E9C9F1处的未处理异常:0xC0000005:访问冲突执行位置0x00000000

时间:2013-10-22 05:38:28

标签: matlab visual-c++ mfc matlab-deployment matlab-compiler

我试图在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天。

1 个答案:

答案 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)