KlassenKlassen | | Operatoren

object_model_3d_to_xyzT_object_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyz (Operator)

Name

object_model_3d_to_xyzT_object_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)

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)

Beschreibung

object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyzObjectModel3dToXyz transformiert die Punkte des 3D-Objektmodells ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D in die drei Bilder XXXXx, YYYYy und ZZZZz.

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

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

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

Die internen Kameraparameter CamParamCamParamCamParamCamParamcamParam beschreiben die Art der Projektion (siehe calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCameras). PosePosePosePosepose 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":

Diese Transformationsmethode ist nur möglich, wenn das 3D-Objektmodell mit dem Operator xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d 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_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d erstellte Abbildung der Punkte in Bildkoordinaten verwendet.

Die Parameter CamParamCamParamCamParamCamParamcamParam und PosePosePosePosepose werden ignoriert. Die Größe der Bilder ist gleich der Bildgröße der ursprünglich an xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d übergebenen Bilder.

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

Ausführungsinformationen

Parameter

XXXXx (output_object)  singlechannelimage objectHImageHImageHobject * (real)

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

YYYYy (output_object)  singlechannelimage objectHImageHImageHobject * (real)

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

ZZZZz (output_object)  singlechannelimage objectHImageHImageHobject * (real)

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

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (input_control)  object_model_3d HObjectModel3D, HTupleHTupleHtuple (integer) (IntPtr) (Hlong) (Hlong)

Handle des zu transformierenden 3D-Objektmodells.

TypeTypeTypeTypetype (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Transformationsmethode.

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

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

CamParamCamParamCamParamCamParamcamParam (input_control)  campar HCamPar, HTupleHTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Kameraparameter.

PosePosePosePosepose (input_control)  pose HPose, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Pose des 3D-Objektmodells.

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

Ergebnis

object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyzObjectModel3dToXyz 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_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d

Alternativen

project_object_model_3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3dProjectObjectModel3d

Siehe auch

xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d, get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParams

Modul

3D Metrology


KlassenKlassen | | Operatoren