Cog3DPoseEstimatorUsing2DPoints Execute Method Cognex VisionPro 9.7
Perform a 3D pose estimation based on the 3D model points, the specified camera calibrations, the specified 2D image points, and the specified weights, from one or multiple cameras/views.

Namespace: Cognex.VisionPro3D
Assembly: Cognex.VisionPro3D (in Cognex.VisionPro3D.dll) Version: 73.0.0.0
Syntax

public Cog3DPoseEstimatorUsing2DPointsResult Execute(
	List<Cog3DCameraCalibration> raw2DFromPhys3Ds,
	List<Cog3DVect2Collection> pointsRaw2D,
	List<Cog3DScalarCollection> weights
)

Parameters

raw2DFromPhys3Ds
Type: System.Collections.Generic List Cog3DCameraCalibration 
A List of CameraCalibrations. One calibration per camera/view. The size of this list specifies the number of cameras/views.
pointsRaw2D
Type: System.Collections.Generic List Cog3DVect2Collection 
A List of 2D point collections, indexed by camera/view. The size of the List must equal the number of cameras/views. The size of each collection must equal the number of model points. Each point in pointsRaw2D represents its corresponding model point from a specific camera/view, i.e., pointsRaw2D[i][j] is from camera i, and corresponds to PointsModel3D[j]. The total number of valid 2D points must be >= 3.
weights
Type: System.Collections.Generic List Cog3DScalarCollection 
A List of collections of weights, indexed by camera/view. The List may be null to indicate all points have a weight of 1. If not null, then the size of the List must be equal to the number of cameras/views, and each collection in the List is either null to indicate that all points from the corresponding camera have a weight of 1, or the collection has the same size as the number of 3D model points. Each weight must be >= 0.

Return Value

Type: Cog3DPoseEstimatorUsing2DPointsResult
The 3D estimated pose result object. The pose in the result object maps points from Model3D space to Phys3D space.
Exceptions

ExceptionCondition
ArgumentNullException If any of the arguments (except weights) is null.
ArgumentException
  • If raw2DFromPhys3Ds.Count == 0;
  • If raw2DFromPhys3Ds.Count != pointsRaw2D.Count;
  • If weights is not null, and weights.Count != pointsRaw2D.Count;
  • If pointsRaw2D[i].Count != PointsModel3D.Count (i is inside [0, pointsRaw2D.Count-1]);
  • If weights[i] is not null, and weights[i].Count != PointsModel3D.Count (i is inside [0, pointsRaw2D.Count-1]).
See Also