Main Content


Immediately return single image frame


frame = getsnapshot(obj)
[frame, metadata] = getsnapshot(obj)


frame = getsnapshot(obj) immediately returns one single image frame, frame, from the video input object obj. The frame of data returned is independent of the video input object FramesPerTrigger property and has no effect on the value of the FramesAvailable or FramesAcquired property.

The object obj must be a 1-by-1 video input object.

frame is returned as an H-by-W-by-B matrix where


Image height, as specified in the ROIPosition property


Image width, as specified in the ROIPosition property


Number of bands associated with obj, as specified in the NumberOfBands property

frame is returned to the MATLAB® workspace in its native data type using the color space specified by the ReturnedColorSpace property.

You can use the MATLAB image or imagesc function to view the returned data.

[frame, metadata] = getsnapshot(obj) returns metadata, a 1-by-1 array of structures. This structure contains information about the corresponding frame. The metadata structure contains the field AbsTime, which is the absolute time the frame was acquired, expressed as a time vector. In addition to that field, some adaptors might also add other adaptor-specific metadata; for example, GenICam™ GenTL compliant cameras can have a ChunkData field returning chunk metadata according to the configuration viewed by the chunkDataInfo function.


If obj is running but not logging, and has been configured with a hardware trigger, a timeout error will occur.

To interrupt the getsnapshot function and return control to the MATLAB command line, issue the ^C (Ctrl+C) command.


To get a list of options you can use on a function, press the Tab key after entering a function on the MATLAB command line. The list expands, and you can scroll to choose a property or value. For information about using this advanced tab completion feature, see Using Tab Completion for Functions.


Create a video input object.

obj = videoinput('matrox', 1);

Acquire and display a single frame of data.

frame = getsnapshot(obj);

Remove the video input object from memory.


For an example of using getsnapshot, see the Image Acquisition Toolbox™ example Acquiring a Single Image in a Loop in the Examples list at the top of the Image Acquisition Toolbox main Documentation Center page, or open the file demoimaq_GetSnapshot.m in the MATLAB Editor.

Version History

Introduced before R2006a