Name
object_model_3d_to_xyzT_object_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyz — Transform 3D points from a 3D object model to images.
void ObjectModel3dToXyz(HObject* X, HObject* Y, HObject* Z, const HTuple& ObjectModel3D, const HTuple& Type, const HTuple& CamParam, const HTuple& Pose)
HImage HObjectModel3D::ObjectModel3dToXyz(HImage* Y, HImage* Z, const HString& Type, const HCamPar& CamParam, const HPose& Pose) const
HImage HObjectModel3D::ObjectModel3dToXyz(HImage* Y, HImage* Z, const char* Type, const HCamPar& CamParam, const HPose& Pose) const
HImage HCamPar::ObjectModel3dToXyz(HImage* Y, HImage* Z, const HObjectModel3D& ObjectModel3D, const HString& Type, const HPose& Pose) const
HImage HCamPar::ObjectModel3dToXyz(HImage* Y, HImage* Z, const HObjectModel3D& ObjectModel3D, const char* Type, const HPose& Pose) const
static void HOperatorSet.ObjectModel3dToXyz(out HObject x, out HObject y, out HObject z, HTuple objectModel3D, HTuple type, HTuple camParam, HTuple pose)
HImage HObjectModel3D.ObjectModel3dToXyz(out HImage y, out HImage z, string type, HCamPar camParam, HPose pose)
HImage HCamPar.ObjectModel3dToXyz(out HImage y, out HImage z, HObjectModel3D objectModel3D, string type, HPose pose)
The operator object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyzObjectModel3dToXyz transforms the 3D points of
the 3D object model ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D into the three images
XXXXx, YYYYy, and ZZZZz.
Two transformation modes are possible. The parameter TypeTypeTypeTypetype is
used to select one of them:
- 'cartesian'"cartesian""cartesian""cartesian""cartesian":
-
First, each point is transformed into the camera coordinate system
using the given PosePosePosePosepose. Then, these coordinates are projected into
the image coordinate system based on the internal camera parameters
CamParamCamParamCamParamCamParamcamParam.
The internal camera parameters CamParamCamParamCamParamCamParamcamParam describe the
projection characteristics of the camera (see
calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCameras). The PosePosePosePosepose describes the
position and orientation of the world coordinate system with
respect to the camera coordinate system.
The X-, Y-, and Z-coordinates of the transformed point are written into
the corresponding image at the position of the projection.
If multiple points are projected to the same image coordinates, the
point with the smallest Z-value is written (hidden-point removal).
The dimensions of the returned images are defined by the camera
parameters.
The returned images show the object as it would look like when seeing it
with the specified camera under the specified pose.
- 'from_xyz_map'"from_xyz_map""from_xyz_map""from_xyz_map""from_xyz_map":
-
This transformation mode works only if the 3D object model was created
with the operator xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d.
It writes each 3D point to the image coordinate where it originally
came from, using the mapping attribute that is stored within the
3D object model.
The parameters CamParamCamParamCamParamCamParamcamParam and PosePosePosePosepose are ignored.
The dimensions of the returned images are equal to the dimensions of the
original images that were used with xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d to
create the 3D object model and can be queried from
get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParams with 'mapping_size'"mapping_size""mapping_size""mapping_size""mapping_size".
This transformation mode is faster than 'cartesian'"cartesian""cartesian""cartesian""cartesian".
It is suitable, e.g., to visualize the results of a segmentation done with
segment_object_model_3dsegment_object_model_3dSegmentObjectModel3dSegmentObjectModel3dSegmentObjectModel3d.
Cameras with hypercentric lenses are not supported.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Image with the X-Coordinates of the 3D points.
Image with the Y-Coordinates of the 3D points.
Image with the Z-Coordinates of the 3D points.
Handle of the 3D object model.
Type of the conversion.
Default value:
'cartesian'
"cartesian"
"cartesian"
"cartesian"
"cartesian"
List of values: 'cartesian'"cartesian""cartesian""cartesian""cartesian", 'from_xyz_map'"from_xyz_map""from_xyz_map""from_xyz_map""from_xyz_map"
Pose of the 3D object model.
Number of elements: Pose == 0 || Pose == 7 || Pose == 12
The operator object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyzObjectModel3dToXyz returns the value
2 (H_MSG_TRUE) if the given parameters are correct. Otherwise, an exception
will be raised.
read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d,
xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d
project_object_model_3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3dProjectObjectModel3d
xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d,
get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParams
3D Metrology