This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.


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 may choose to add other adaptor-specific metadata as well.

    Note   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.

    Note:   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.

Introduced before R2006a

Was this topic helpful?