У меня есть интересная проблема. Именно так; Я пытаюсь использовать функцию std::memcpy внутри с помощью функции mex и вызываю эту функцию mex внутри MATLAB таким образом;
I2 = b_filter(I);
Когда я копирую все изображение, оно работает хорошо;
plhs[0] = mxCreateDoubleMatrix(mxGetM(plhs[0]), mxGetN(plhs[0]), mxREAL);
memcpy(mxGetPr(plhs[0]), mxGetPr(prhs[0]), sizeof(double) *mxGetM(plhs[0]) * mxGetN(plhs[0]));
Но когда я пытаюсь скопировать часть изображения
plhs[0] = mxCreateDoubleMatrix(100, 100, mxREAL);
memcpy(mxGetPr(plhs[0]), mxGetPr(prhs[0]), sizeof(double) * 100 * 100);
он не дает правильную часть изображения, но дает бессмысленные значения пикселей.
и так, что здесь происходит?