CameraCapture Method (Settings) |
Capture a single frame
Namespace:
Zivid.NET
Assembly:
ZividCoreNET (in ZividCoreNET.dll) Version: 0.0.0.0
Syntax public Frame Capture(
Settings settings
)
Public Function Capture (
settings As Settings
) As Frame
public:
Frame^ Capture(
Settings^ settings
)
Parameters
- settings
- Type: Zivid.NETSettings
Settings to use for the capture
Return Value
Type:
FrameA frame containing a 3D point cloud and metadata
Remarks
This method returns right after the acquisition of the images is complete, and the camera has stopped
projecting patterns. Therefore, after this method has returned, the camera can be moved, or objects in
the scene can be moved, or a capture from another camera with overlapping field of view can be triggered,
without affecting the point cloud.
When this method returns, there is still remaining data to transfer from the camera to the PC, and the
processing of the final point cloud is not completed. Transfer and processing of the point cloud will
continue in the background. When you call a method on the returned
Frame object that
requires the capture to be finished, for example
PointCloud, that method will
block until the processing is finished and the point cloud is available. If an exception occurs after
the acquisition of images is complete (during transfer or processing of the capture), then that
exception is instead thrown when you access the
Frame object.
The `capture` function can be invoked back-to-back, for doing rapid back-to-back acquisition of multiple
(2D or 3D) captures on the same camera. This is for example useful if you want to do one high-resolution
2D capture followed by a lower-resolution 3D capture. The acquisition of the next capture will begin
quickly after acquisition of the previous capture completed, even when there is remaining transfer and
processing for the first capture. This allows pipelining several 2D and/or 3D captures, by doing
acquisition in parallel with data transfer and processing.
Note: There can be maximum of two in-progress uncompleted 3D captures simultaneously per Zivid camera.
If you invoke `capture` when there are two uncompleted 3D captures in-progress, then the capture will
not start until the first of the in-progress 3D captures has finished all transfer and processing. There
is a similar limit of maximum two in-process 2D captures per camera.
`capture` can be called from multiple threads at the same time. Multiple capture commands on the same
camera object from different threads will be queued and executed in order (first in, first out).
`capture` can also be called on multiple cameras simultaneously. However, if the cameras have overlapping
field-of-view then you need to take consideration and sequence the capture calls to avoid the captures
interfering with each other.
Note that all of these remarks apply for both 3D and 2D captures.
See Also