Необработанное исключение по адресу 0x74E9C9F1 в pa2sample.exe: 0xC0000005: место выполнения нарушения прав доступа 0x00000000

Я пытаюсь использовать функцию MATLAB в VC++ MFC 2012 для редактирования изображения. У меня возникла ошибка при использовании 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 C++ после преобразования из MATLAB

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

Я ценю, если кто-то может мне помочь. Я застрял на 2 дня.


person Tung Pham    schedule 22.10.2013    source источник


Ответы (1)


Как вы думаете, что делает mwArray(img)? И как вы ожидаете, что он будет делать то, что вы хотите? Единственный конструктор с одним аргументом, который я вижу, это:

mwArray(const char* str)

Описание

Создайте массив 1 на n типа mxCHAR_CLASS с n = strlen(str) и инициализируйте данные массива символами предоставленной строки.

Для изображения вам потребуется использовать следующий конструктор mwArray для создания матрицы:

mwArray(mwSize num_rows, mwSize num_cols, mxClassID mxID, mxComplexitycmplx)
person chappjc    schedule 22.10.2013
comment
Я полагаю, то же самое касается выходного аргумента im. - person Shai; 22.10.2013
comment
Да, я собирался прокомментировать это, но подумал, что это может быть похоже на OpenCV с выходными аргументами, выделяемыми движком. Нечто подобное происходит с mxArray в plhs, когда вы используете mexCallMATLAB из MEX-файл. Кстати, поздравляю с золотым матлабом. - person chappjc; 22.10.2013
comment
@chappjc спасибо. не могли бы вы немного объяснить мне эти аргументы в mwArray()? - person Tung Pham; 22.10.2013
comment
См. страницу документа mwArray в MATLAB или, если у вас есть логин, на mathworks.com - person chappjc; 22.10.2013
comment
@chappjc, к сожалению, у меня его нет. :( - person Tung Pham; 22.10.2013