MATLAB Answers


How can I save an Image from memory using a pointer?

Hello I am using DCU224M from Thorlabs.

What I have done

I have written a code in C++ using APIs to capture and save image. Using:

is_AllocImageMem (HIDS hCam,INT width, INT height, INT bitspixel,char** ppcImgMem,INT* pid) - Allocates memory

is_SetImageMem (HIDS hCam, char* pcImgMem, INT id) - Clear memory and make it available for storing

is_FreezeVideo (HIDS hCam, INT Wait) - Captures Image

is_SaveImageMem(HIDS hCam, const IS_CHAR* File); - Saves Image to a file mentioned.

What I have to do

The saving to file takes lot of time so I don't want to do that.

Is there a possible way of passing these to Matlab so that I can read image from memory directly in Matlab?

No Active-X Controls. I can't use inbuilt imaqdevice - there are other controls available via C APIs which I need(Ex: Exposure time, FPS etc,).


1 Answer

Answer by Sridutt Nayak on 9 Jan 2013
 Accepted answer

Solved using Mex.

I wrote the code in .cpp, compiled using mex. Then returned the values using mxCreateDoubleMatrix.

I followed:

  1 Comment

Hi Sridutt

Just for clarity. Is it still 2 different program running, MATLAB and your C++ program or did you compile your C++ code with mex and call that from MATLAB?

Thanks in advance

Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!