C # array in MWarray Matlab

I have a MxNx3 matrix and I want to pass it to matlab using MWArray .
Here is my code, however there is no CTOR for this.
Is there any way to do this?

 RGBImage image = _currentImage as RGBImage; int height = image.Height; int width = image.Width; //transform the 1D array of byte into MxNx3 matrix byte[, ,] rgbByteImage = new byte[3, height, width]; if (image[0].Bpp > 16) { for (int i = 0; i < height; i++) { for (int j = 0, k = 0; k < width; j = j + 3, k++) { rgbByteImage[0, i, k] = image[0].Data[i * width + j]; rgbByteImage[1, i, k] = image[0].Data[i * width + j + 1]; rgbByteImage[2, i, k] = image[0].Data[i * width + j + 2 ]; } } } MWNumericArray tempArr = new MWNumericArray(rgbByteImage); 
+6
source share
1 answer
 RGBImage image = _currentImage as RGBImage; int height = image.Height; int width = image.Width; //transform the 1D array of byte into MxNx3 matrix byte[ , , ] RGBByteImage = new byte[3,height, width]; if (image[0].Bpp > 16) { for (int i = 0; i < height; i++) { for (int j = 0, k = 0; k < width; j = j + 3, k++) { RGBByteImage[0, i, k] = image[0].Data[3 * i * width + j]; RGBByteImage[1, i, k] = image[0].Data[3 * i * width + j + 1]; RGBByteImage[2, i, k] = image[0].Data[3 * i * width + j + 2]; } } } MWNumericArray matrix = null; matrix = new MWNumericArray(MWArrayComplexity.Real, MWNumericType.Int8, 3,height, width); matrix = RGBByteImage; 

This is what I found.

There is also a good tutorial here http://domoreinlesstime.wordpress.com/2013/01/26/access-matlab-from-c/

Please note that you have specified the MWArray.dll file (x64 or x86) correctly. I spent a day or so on it.

+6
source

All Articles