System MarshalByRefObject
Cognex.VisionPro.Implementation CogObjectBase
Cognex.VisionPro.Implementation CogSerializableObjectBase
Cognex.VisionPro.Implementation CogSerializableChangedEventBase
Cognex.VisionPro.CalibFix CogHandEyeCalibratorRemoteCameras
Namespace: Cognex.VisionPro.CalibFix
Assembly: Cognex.VisionPro.CalibFixPlus (in Cognex.VisionPro.CalibFixPlus.dll) Version: 69.0.0.0
The CogHandEyeCalibratorRemoteCameras type exposes the following members.
| Name | Description | |
|---|---|---|
| CogHandEyeCalibratorRemoteCameras |
This constructor creates a default CogHandEyeCalibratorRemoteCameras object.
| |
| CogHandEyeCalibratorRemoteCameras(CogHandEyeCalibratorRemoteCameras) |
Copy constructs a CogHandEyeCalibratorRemoteCameras object.
| |
| CogHandEyeCalibratorRemoteCameras(SerializationInfo, StreamingContext) |
Serialization construct a CogHandEyeCalibratorRemoteCameras object.
|
| Name | Description | |
|---|---|---|
| CreateObjRef | Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.) | |
| Dispose |
Destruct this CogHandEyeCalibratorRemoteCameras.
| |
| Dispose(Boolean) | ||
| Equals | (Inherited from Object.) | |
| Execute(CogFeatureCrspsMCamerasNPoses, Rectangle , CogTransform2DRigid ) |
Compute the CogHandEyeCalibrationRemoteCamerasResults for the remote cameras based on
the supplied the corresponded point pairs extracted from images of
the separate calibration plates being shuffled between primary station and remote station
captured with remote cameras, pelrects of remote cameras, and unCorrectedHome2DFromStage2Ds poses. This overload performs a full hand
eye calibration on the remote station so that it doesn't require that the remote cameras and primary
cameras to have overlapped or connected plate features in their FOVs when moving the calibration plates between
primary station and remote station (via the highly repeatable motions).
| |
| Execute(CogFeaturePositionsMCamerasNPoses, Rectangle , CogTransform2DRigid ) |
Compute the CogHandEyeCalibrationRemoteCamerasResults for the remote cameras based on
the supplied tracked feature points
on a part from the remote station, pelrects of the remote cameras, and uncorrectedHome2DFromStage2D poses.
This overload performs a full hand
eye calibration on the remote station so that it doesn't require that the remote cameras and primary
cameras to have overlapped tracked features in their FOVs when moving the part between
primary station and remote station (via the highly repeatable motions).
| |
| Execute(CogFeatureCrspsMCamerasNPoses, Rectangle , CogTransform2DRigid , CogTransform2DCameraCalibration ) |
Reuse the internal camera parameters (from the supplied
camera calibration results of the remote cameras) to compute CogHandEyeCalibrationRemoteCamerasResults for the remote cameras based on
the supplied corresponded point pairs extracted from images of
the separate calibration plates being shuffled between primary station and remote station
captured with remote cameras, pelrects of remote cameras, and uncorrectedHome2DFromStage2D poses. This overload performs a full hand
eye calibration on the remote station so that it doesn't require that the remote cameras and primary
cameras to have overlapped/connected plate features in their FOVs when moving the calibration plates between
primary station and remote station (via the highly repeatable motions).
| |
| Execute(CogFeaturePositionsMCamerasNPoses, Rectangle , CogTransform2DRigid , CogTransform2DCameraCalibration ) |
Reuse the internal camera parameters (from the supplied
camera calibration results of the remote cameras) to compute the
CogHandEyeCalibrationRemoteCamerasResults for the remote cameras based on the supplied
tracked feature points
on a part from the remote station, pelrects of the remote camera, and uncorrectedHome2DFromStage2D poses.
This overload performs a full hand
eye calibration on the remote station so that it doesn't require that the remote cameras and primary
cameras to have overlapped tracked features in their FOVs when moving the part between
primary station and remote station (via the highly repeatable motions).
| |
| Execute(CogHandEyeCalibrationResults, CogFeatureCrspsMCameras, Rectangle , CogFeatureCrspsMCameras) |
Compute the CogHandEyeCalibrationRemoteCamerasResults for the remote cameras based on
the supplied hand-eye calibration results of the primary cameras, the corresponded
point pairs (from the same calibration plate) for the primary cameras and the remote cameras,
pelrects of the remote cameras, using the current parameter settings.
| |
| Execute(CogHandEyeCalibrationResults, CogFeaturePositionsMCamerasNPoses, Rectangle , CogFeaturePositionsMCamerasNPoses) |
Compute the CogHandEyeCalibrationRemoteCamerasResults for the remote cameras based on
the supplied hand-eye calibration results of the primary cameras, the tracked feature points
on a part from both primary station and remote station, and pelrects of remote cameras.
Note that it requires the primary cameras and remote cameras must have overlapped tracked features in their FOVs when moving the part between primary station and remote station (via the highly repeatable motion). Note that the tracked Raw2D features' order must be the same over all primary/remote cameras and over all poses. | |
| Execute(CogHandEyeCalibrationResults, CogFeatureCrspsMCameras, Rectangle , CogFeatureCrspsMCameras, CogTransform2DCameraCalibration ) |
Reuse the internal camera parameters (from the supplied
camera calibration results of the remote cameras) to compute the
CogHandEyeCalibrationRemoteCamerasResults for the remote cameras based on
the supplied hand-eye calibration results of the primary cameras, the corresponded
point pairs (from the same calibration plate) for the primary cameras and the remote cameras,
pelrects of the remote cameras, using the current parameter settings.
| |
| Execute(CogHandEyeCalibrationResults, CogFeaturePositionsMCamerasNPoses, Rectangle , CogFeaturePositionsMCamerasNPoses, CogTransform2DCameraCalibration ) |
Reuse the internal camera parameters (from the supplied
camera calibration results of the remote cameras) to compute
the CogHandEyeCalibrationRemoteCamerasResults for the remote cameras based on the
supplied hand-eye calibration results of the primary cameras, the tracked feature points
on a part from both primary station and remote station, pelrects of remote camera.
Note that it requires the primary cameras and remote cameras must have overlapped tracked features in their FOVs when moving the part between primary station and remote station (via the highly repeatable motions). Note that the tracked Raw2D features' order must be the same over all primary/remote cameras and over all poses. | |
| Finalize |
Finalize this CogHandEyeCalibratorRemoteCameras.
(Overrides Object Finalize .) | |
| GetAttributes |
Implements the corresponding member of the ICustomTypeDescriptor interface.
May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.) | |
| GetClassName |
Implements the corresponding member of the ICustomTypeDescriptor interface.
May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.) | |
| GetComponentName |
Implements the corresponding member of the ICustomTypeDescriptor interface.
May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.) | |
| GetConverter |
Implements the corresponding member of the ICustomTypeDescriptor interface.
May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.) | |
| GetDefaultEvent |
Implements the corresponding member of the ICustomTypeDescriptor interface.
May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.) | |
| GetDefaultProperty |
Implements the corresponding member of the ICustomTypeDescriptor interface.
May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.) | |
| GetEditor |
Implements the corresponding member of the ICustomTypeDescriptor interface.
May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.) | |
| GetEvents |
Implements the corresponding member of the ICustomTypeDescriptor interface.
May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.) | |
| GetEvents( Attribute ) |
Implements the corresponding member of the ICustomTypeDescriptor interface.
May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.) | |
| GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
| GetLifetimeService | Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.) | |
| GetObjectData |
Implements the GetObjectData method of the ISerializable interface.
(Inherited from CogSerializableObjectBase.) | |
| GetProperties |
Implements the corresponding member of the ICustomTypeDescriptor interface.
May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.) | |
| GetProperties( Attribute ) |
Implements the corresponding member of the ICustomTypeDescriptor interface.
May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.) | |
| GetPropertyOwner |
Implements the corresponding member of the ICustomTypeDescriptor interface.
May be overridden in derived classes to provide custom type information.
(Inherited from CogObjectBase.) | |
| GetType | Gets the Type of the current instance. (Inherited from Object.) | |
| InitializeLifetimeService | Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.) | |
| MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
| MemberwiseClone(Boolean) | Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject.) | |
| OnChanged(Int64) |
This method should be called internally whenever the object's state may
have changed.
(Inherited from CogSerializableChangedEventBase.) | |
| OnChanged(CogChangedEventArgs) |
This method may be called internally whenever a derived object's state
may have changed and the derived object expresses this change via a
derived CogChangedEventArgs class.
(Inherited from CogSerializableChangedEventBase.) | |
| ResumeAndRaiseChangedEvent |
Re-enables raising of the Changed event after SuspendChangedEvent
has been called, and raises the Changed event if the
ChangedEventSuspended count is reduced to zero and any changes were
made while events were suspended. Must be called once for each call to
SuspendChangedEvent.
(Inherited from CogSerializableChangedEventBase.) | |
| SuspendChangedEvent |
Temporarily suspends the raising of the Changed event. May be called
more than once, and a corresponding call to ResumeAndRaiseChangedEvent
must be made for each call to SuspendChangedEvent.
(Inherited from CogSerializableChangedEventBase.) | |
| ToString | (Inherited from Object.) |
| Name | Description | |
|---|---|---|
| SfDistortionModel |
This bit will be set in the EventArgs of a Changed event
every time the value returned by DistortionModel
may have been changed.
| |
| SfNextSf | ||
| SfTimeout |
This bit will be set in the EventArgs of a Changed event
every time the value returned by Timeout
may have been changed.
| |
| SfTimeoutEnabled |
This bit will be set in the EventArgs of a Changed event
every time the value returned by TimeoutEnabled
may have been changed.
|
| Name | Description | |
|---|---|---|
| ChangedEventSuspended |
If nonzero, indicates that the raising of the Changed event has been
suspended. This value is incremented when SuspendChangedEvent is called
and decremented when ResumeAndRaiseChangedEvent is called.
(Inherited from CogSerializableChangedEventBase.) | |
| DistortionModel |
The optical distortion model to be used in computing
Raw2DFromCamera2D.
| |
| HasChanged | (Inherited from CogSerializableChangedEventBase.) | |
| StateFlags |
Returns the complete set of state flags supported on this object. The
flags may be indexed by name as shown in the following C# code snippet:
if (changedObject.StateFlags["Color"] & eventArgs.StateFlags) { ... }
(Inherited from CogSerializableChangedEventBase.) | |
| Timeout |
The maximum time in milliseconds that the Execute method
will be allowed to run if TimeoutEnabled is true.
| |
| TimeoutEnabled |
Enable or disable timeout for the Execute methods.
|
| Name | Description | |
|---|---|---|
| Changed |
This event is raised when one or more parts of the object's state may
have changed.
(Inherited from CogSerializableChangedEventBase.) |
The CogHandEyeCalibratorRemoteCameras computes the mathematical transform to map image coordinate positions of remote cameras to and from their corresponding coordinates in the coordinate system defined by the motion axes of the stage. This is a 2-D transform. This operator provides no 3-D information.
The remote camera is always a stationary camera, the physical position of the cameras remains unchanged when the motion stage moves.
Coordinate Systems, Stage Pose and Systematic Errors in the Motion Stage See Remarks section of CogHandEyeCalibrator
The figure below shows the result of adding a remote camera (camera C) to an already calibrated system consisting of 2 primary cameras (camera A and camera B), using a single large calibration target that is simultaneously visible by all cameras. In this case the relative position of cameraC2D from Home2D reflects the actual spatial relationship of the system.
remote camera primary cameras
--------------- -------------------
camera C camera A camera B
__ __ __
|__| |__| |__|
/\ /\ /\
______________single_calibration_target_____________________________
| Plate2D |
| +-----> |
| | |
| | |
| V |
|____________________________________________________________________|
cameraC2D cameraA2D cameraB2D
+-----> +-----> +----->
| | |
| | |
V V V
Home2D
+----->
|
|
VThe figure below shows the result of adding a remote camera (camera C) to an already calibrated system consisting of 2 primary cameras (camera A and camera B), using a single calibration target that is moved into the field of view of each camera (via the highly repeatable motions between the stations, which is the same motion applied on the run time part between the stations). In this case the relative position of cameraC2D from Home2D does not reflect the actual spatial configuration of the system. This mode of operation is particularly useful if the remote cameras are far away or not on the same physical plane.
remote camera primary cameras
--------------- -------------------
camera C camera A camera B
__ __ __
|__| |__| |__|
/\ /\ /\
_______________ ________________
| Plate2D | Moved into field | Plate2D |
| +-----> | of view | +-----> |
| | | ----------------- | | |
| | | | | |
| V | | V |
|_______________| |________________|
cameraA2D cameraC2D cameraB2D
+-----> +-----> +----->
| | |
| | |
V V V
Home2D
+----->
|
|
VThe figure below shows the result of adding a remote camera (camera C) to an already calibrated system consisting of 2 primary cameras (camera A and camera B), using a run time part that is moved into the field of view of the cameras at each station (via the highly repeatable motions between the stations). Tracked Raw2D feature based calibration can be used. In this case the relative position of cameraC2D from Home2D does not reflect the actual spatial configuration of the system. This mode of operation is particularly useful if the remote cameras are far away or not on the same physical plane, and it is not feasible to move a calibration plate between the stations.
remote camera primary cameras
--------------- -------------------
camera C camera A camera B
__ __ __
|__| |__| |__|
/\ /\ /\
____ _____ ____ _____
/ \ / \ / \ / \
/ * \ / * | / * \ / * |
/ * /_________/ * | Moved into field / * /_________/ * |
|\___ __/| of view |\___ __/|
\__/ Runtime part /___/ \__/ Runtime part /___/
/(Calibration Object)// ----------------- /(Calibration Object)//
______/ // ______/ //
/ _____________ *\ / _____________ *\
/ * * /_____________\ * /| / * * / ___________ \ * /|
|\_______// \\______// |\_______// \\______//
\_______/ \______/ \_______/ \______/
cameraA2D cameraC2D cameraB2D
+-----> +-----> +----->
| | |
| | |
V V V
Home2D
+----->
|
|
VThe above usages require that the primary cameras and remote cameras must have overlapped or connected features in their FOVs when moving the calibration plate(s) or part between the primary station and the remote station (via the highly repeatable motion). If this is not the case, CogHandEyeCalibratorRemoteCameras also supports full hand-eye calibration for the remote cameras using multiple stage poses.