Skip to content

grab_imageGrabImageGrabImagegrab_imageT_grab_image🔗

Short description🔗

grab_imageGrabImageGrabImagegrab_imageT_grab_image — Synchronous grab of an image from the specified image acquisition device.

Signature🔗

grab_image( out image Image, framegrabber AcqHandle )void GrabImage( HObject* Image, const HTuple& AcqHandle )static void HOperatorSet.GrabImage( out HObject image, HTuple acqHandle )def grab_image( acq_handle: HHandle ) -> HObject

Herror T_grab_image( Hobject* Image, const Htuple AcqHandle )

void HImage::GrabImage( const HFramegrabber& AcqHandle )

HImage HFramegrabber::GrabImage( ) const

void HImage.GrabImage( HFramegrabber acqHandle )

HImage HFramegrabber.GrabImage( )

Description🔗

The operator grab_imageGrabImage grabs an image via the image acquisition device specified by AcqHandleacqHandleacq_handle. The desired operational mode of the image acquisition device as well as a suitable image part and additional interface-specific settings can be specified using the operators open_framegrabberOpenFramegrabber and set_framegrabber_paramSetFramegrabberParam.

To abort the grab, the operator set_framegrabber_paramSetFramegrabberParam with the parameter 'do_abort_grab' can be used if the specific image acquisition interface supports it. Note that as an exception from the description of the concurrent usage in multiple threads (see below) 'do_abort_grab' can also be used from another thread.

Attention🔗

For a multithreaded application, info_framegrabberInfoFramegrabber, open_framegrabberOpenFramegrabber, and close_framegrabberCloseFramegrabber are executed exclusively.

grab_imageGrabImage runs in parallel with all non-exclusive operators inside and outside of this group.

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

Parameters🔗

Imageimageimage (output_object) image → object (byte / uint2)HObject (byte / uint2)HImage (byte / uint2)HObject (byte / uint2)Hobject * (byte / uint2)

Grabbed image.

AcqHandleacqHandleacq_handle (input_control) framegrabber → (handle)HTuple (HHandle)HFramegrabber, HTuple (IntPtr)HHandleHtuple (handle)

Handle of the acquisition device to be used.

Example🔗

(HDevelop)

* Select a suitable image acquisition interface name AcqName
info_framegrabber(AcqName,'port',Information,Values)
* Open image acquisition device using the default settings, see
* documentation of the actually used interface for more details
open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0, \
                  'default','default','default',-1,-1,AcqHandle)
grab_image(Image,AcqHandle)
close_framegrabber(AcqHandle)

Result🔗

If the image could be acquired successfully, the operator grab_imageGrabImage returns the value 2 (H_MSG_TRUE). Otherwise an exception is raised.

Combinations with other operators🔗

Combinations

Possible predecessors

open_framegrabberOpenFramegrabber, set_framegrabber_paramSetFramegrabberParam

Possible successors

grab_image_startGrabImageStart, grab_image_asyncGrabImageAsync, close_framegrabberCloseFramegrabber

See also

open_framegrabberOpenFramegrabber, info_framegrabberInfoFramegrabber, set_framegrabber_paramSetFramegrabberParam

Module🔗

Foundation