0

我正在尝试在 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

这是ImgProc从 MATLAB 转换后的 C++ 函数

ImgProc(int nargout, mwArray& im, const mwArray& x);

如果有人可以帮助我,我将不胜感激。我被困了2天。

4

1 回答 1

1

你觉得有什么mwArray(img)作用?你希望它如何做你想做的事?我看到的唯一单参数构造函数是:

mwArray(const char* str)

描述

创建一个类型为 ,的 1-by-n数组,并使用提供的字符串中的字符初始化数组的数据。mxCHAR_CLASSn = strlen(str)

对于图像,您需要使用以下mwArray构造函数来创建矩阵:

mwArray(mwSize num_rows, mwSize num_cols, mxClassID mxID, mxComplexitycmplx)
于 2013-10-22T06:51:56.433 回答