KlassenKlassenKlassenKlassen | | | | Operatoren

object_model_3d_to_xyzT_object_model_3d_to_xyzObjectModel3dToXyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyz (Operator)

Name

object_model_3d_to_xyzT_object_model_3d_to_xyzObjectModel3dToXyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyz — Transformieren eines 3D-Objektmodells in Bilder.

Signatur

object_model_3d_to_xyz( : X, Y, Z : ObjectModel3D, Type, CamParam, Pose : )

Herror T_object_model_3d_to_xyz(Hobject* X, Hobject* Y, Hobject* Z, const Htuple ObjectModel3D, const Htuple Type, const Htuple CamParam, const Htuple Pose)

Herror object_model_3d_to_xyz(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 HTuple& Type, const HTuple& CamParam, const HTuple& Pose) const

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

void HOperatorSetX.ObjectModel3dToXyz(
[out] IHUntypedObjectX*X, [out] IHUntypedObjectX*Y, [out] IHUntypedObjectX*Z, [in] VARIANT ObjectModel3D, [in] VARIANT Type, [in] VARIANT CamParam, [in] VARIANT Pose)

IHImageX* HObjectModel3DX.ObjectModel3dToXyz(
[out] IHImageX*Y, [out] IHImageX*Z, [in] BSTR Type, [in] VARIANT CamParam, [in] VARIANT Pose)

IHImageX* HCamParX.ObjectModel3dToXyz(
[out] IHImageX*Y, [out] IHImageX*Z, [in] IHObjectModel3DX* ObjectModel3D, [in] BSTR Type, [in] VARIANT CamParam, [in] VARIANT Pose)

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)

Beschreibung

object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyz transformiert die Punkte des 3D-Objektmodells ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D in die drei Bilder XXXXXx, YYYYYy und ZZZZZz.

Es gibt zwei mögliche Transformationsmethoden, die über den Parameter TypeTypeTypeTypeTypetype ausgewählt werden:

'cartesian'"cartesian""cartesian""cartesian""cartesian""cartesian":

Die 3D-Punkte des Modells werden zunächst mit der übergebenen PosePosePosePosePosepose transformiert. Anschließend werden sie mittels der in CamParamCamParamCamParamCamParamCamParamcamParam übergebenen Kameraparameter in ein Bild projiziert.

Die internen Kameraparameter CamParamCamParamCamParamCamParamCamParamcamParam beschreiben die Art der Projektion (siehe calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras). PosePosePosePosePosepose beschreibt die Position und Orientierung des Weltkoordinatensystems zum Kamerakoordinatensystem.

Die X-, Y- und Z-Koordinaten der transformierten Punkte werden jeweils in das entsprechende Ausgabebild an die projizierte Stelle geschrieben. Werden mehrere Punkte auf die selbe Bildkoordinate projiziert, so wird nur der Punkt mit dem kleinsten Z-Wert in die Bilder geschrieben. Die Größe der Bilder wird durch die Kameraparameter festgelegt.

Die zurückgegebenen Bilder zeigen das Objekt so wie es von der Kamera unter der entsprechenden Pose gesehen werden würde.

'from_xyz_map'"from_xyz_map""from_xyz_map""from_xyz_map""from_xyz_map""from_xyz_map":

Diese Transformationsmethode ist nur möglich, wenn das 3D-Objektmodell mit dem Operator xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d erstellt wurde. Hier werden die 3D-Punkte an die Stelle der Bilder geschrieben von der sie ursprünglich kamen. Dabei wird die in xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d erstellte Abbildung der Punkte in Bildkoordinaten verwendet.

Die Parameter CamParamCamParamCamParamCamParamCamParamcamParam und PosePosePosePosePosepose werden ignoriert. Die Größe der Bilder ist gleich der Bildgröße der ursprünglich an xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d übergebenen Bilder und kann über get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParams mit 'mapping_size'"mapping_size""mapping_size""mapping_size""mapping_size""mapping_size" abgefragt werden.

Diese Transformationsmethode ist schneller als 'cartesian'"cartesian""cartesian""cartesian""cartesian""cartesian". Sie ist z.B. nützlich um das Ergebnis einer mit segment_object_model_3dsegment_object_model_3dSegmentObjectModel3dsegment_object_model_3dSegmentObjectModel3dSegmentObjectModel3d durchgeführten Segmentierung anzuzeigen.

Parallelisierung

Parameter

XXXXXx (output_object)  singlechannelimage objectHImageHImageHImageHImageXHobject * (real)

Bild mit den X-Koordinaten der 3D-Punkte.

YYYYYy (output_object)  singlechannelimage objectHImageHImageHImageHImageXHobject * (real)

Bild mit den Y-Koordinaten der 3D-Punkte.

ZZZZZz (output_object)  singlechannelimage objectHImageHImageHImageHImageXHobject * (real)

Bild mit den Z-Koordinaten der 3D-Punkte.

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (input_control)  object_model_3d HObjectModel3D, HTupleHTupleHObjectModel3D, HTupleHObjectModel3DX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des zu transformierenden 3D-Objektmodells.

TypeTypeTypeTypeTypetype (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Transformationsmethode.

Defaultwert: 'cartesian' "cartesian" "cartesian" "cartesian" "cartesian" "cartesian"

Werteliste: 'cartesian'"cartesian""cartesian""cartesian""cartesian""cartesian", 'from_xyz_map'"from_xyz_map""from_xyz_map""from_xyz_map""from_xyz_map""from_xyz_map"

CamParamCamParamCamParamCamParamCamParamcamParam (input_control)  campar HCamPar, HTupleHTupleHTupleHCamParX, VARIANTHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*) (double / Hlong / BSTR) (double / Hlong / char*)

Kameraparameter.

PosePosePosePosePosepose (input_control)  pose HPose, HTupleHTupleHTupleHPoseX, VARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Pose des 3D-Objektmodells.

Parameteranzahl: Pose == 0 || Pose == 7 || Pose == 12

Ergebnis

object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyz liefert den Wert 2 (H_MSG_TRUE) wenn alle Parameter korrekt sind. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_object_model_3dread_object_model_3dReadObjectModel3dread_object_model_3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d

Alternativen

project_object_model_3dproject_object_model_3dProjectObjectModel3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3d

Siehe auch

xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3d, get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParams

Modul

3D Metrology


KlassenKlassenKlassenKlassen | | | | Operatoren