reduce_object_model_3d_by_viewT_reduce_object_model_3d_by_viewReduceObjectModel3dByViewReduceObjectModel3dByView (Operator)

Name

reduce_object_model_3d_by_viewT_reduce_object_model_3d_by_viewReduceObjectModel3dByViewReduceObjectModel3dByView — Reduzieren eines 3D-Objektmodells auf die Punkte, deren Projektion innerhalb einer Region liegt.

Signatur

reduce_object_model_3d_by_view(Region : : ObjectModel3D, CamParam, Pose : ObjectModel3DReduced)

Herror T_reduce_object_model_3d_by_view(const Hobject Region, const Htuple ObjectModel3D, const Htuple CamParam, const Htuple Pose, Htuple* ObjectModel3DReduced)

void ReduceObjectModel3dByView(const HObject& Region, const HTuple& ObjectModel3D, const HTuple& CamParam, const HTuple& Pose, HTuple* ObjectModel3DReduced)

static HObjectModel3DArray HObjectModel3D::ReduceObjectModel3dByView(const HRegion& Region, const HObjectModel3DArray& ObjectModel3D, const HCamPar& CamParam, const HPoseArray& Pose)

HObjectModel3D HObjectModel3D::ReduceObjectModel3dByView(const HRegion& Region, const HCamPar& CamParam, const HPose& Pose) const

HObjectModel3DArray HCamPar::ReduceObjectModel3dByView(const HRegion& Region, const HObjectModel3DArray& ObjectModel3D, const HPoseArray& Pose) const

HObjectModel3D HCamPar::ReduceObjectModel3dByView(const HRegion& Region, const HObjectModel3D& ObjectModel3D, const HPose& Pose) const

static HObjectModel3DArray HPose::ReduceObjectModel3dByView(const HRegion& Region, const HObjectModel3DArray& ObjectModel3D, const HCamPar& CamParam, const HPoseArray& Pose)

HObjectModel3D HPose::ReduceObjectModel3dByView(const HRegion& Region, const HObjectModel3D& ObjectModel3D, const HCamPar& CamParam) const

static void HOperatorSet.ReduceObjectModel3dByView(HObject region, HTuple objectModel3D, HTuple camParam, HTuple pose, out HTuple objectModel3DReduced)

static HObjectModel3D[] HObjectModel3D.ReduceObjectModel3dByView(HRegion region, HObjectModel3D[] objectModel3D, HCamPar camParam, HPose[] pose)

HObjectModel3D HObjectModel3D.ReduceObjectModel3dByView(HRegion region, HCamPar camParam, HPose pose)

HObjectModel3D[] HCamPar.ReduceObjectModel3dByView(HRegion region, HObjectModel3D[] objectModel3D, HPose[] pose)

HObjectModel3D HCamPar.ReduceObjectModel3dByView(HRegion region, HObjectModel3D objectModel3D, HPose pose)

static HObjectModel3D[] HPose.ReduceObjectModel3dByView(HRegion region, HObjectModel3D[] objectModel3D, HCamPar camParam, HPose[] pose)

HObjectModel3D HPose.ReduceObjectModel3dByView(HRegion region, HObjectModel3D objectModel3D, HCamPar camParam)

Beschreibung

reduce_object_model_3d_by_viewreduce_object_model_3d_by_viewReduceObjectModel3dByViewReduceObjectModel3dByViewReduceObjectModel3dByView projiziert die Punkte des in ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D übergebenen 3D-Objektmodells in eine Bildebene, die durch CamParamCamParamCamParamCamParamcamParam und PosePosePosePosepose gegeben ist, und reduziert das 3D-Objektmodell auf die Punkte innerhalb der Region, die durch RegionRegionRegionRegionregion gegeben ist. Die Punkte im 3D-Objektmodell werden zuerst mit der Pose transformiert und anschließend mit den Kameraparametern projiziert.

Alle Punkte, die außerhalb der Region liegen werden entfernt. Alle Dreiecke und Polygone, deren Ecken teilweise außerhalb der Region sind, werden ebenfalls entfernt.

Alternativ zu Kameraparametern und einer Pose kann auch ein in ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D enthaltenes XYZ-Mapping verwendet werden. Dafür muss CamParamCamParamCamParamCamParamcamParam auf 'xyz_mapping'"xyz_mapping""xyz_mapping""xyz_mapping""xyz_mapping" oder ein leeres Tupel gesetzt werden und als PosePosePosePosepose ein leeres Tupel übergeben werden. In diesem Fall werden die ursprünglichen Bildpositionen der 3D-Punkte verwendet und darauf geprüft, ob sie innerhalb der Region liegen.

Achtung

Kameras mit hyperzentrischen Objektiven werden nicht unterstützt.

Ausführungsinformationen

Parameter

RegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHobject

Region zur Selektion von Teilen des 3D-Objektmodells.

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (input_control)  object_model_3d(-array) HObjectModel3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des 3D-Objektmodells.

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

Kameraparameter.

Wertevorschläge: 'xyz_mapping'"xyz_mapping""xyz_mapping""xyz_mapping""xyz_mapping", []

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

3D Posen der Objekte im Kamerakoordinatensystem.

Parameteranzahl: Pose == 7

ObjectModel3DReducedObjectModel3DReducedObjectModel3DReducedObjectModel3DReducedobjectModel3DReduced (output_control)  object_model_3d(-array) HObjectModel3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des reduzierten 3D-Objektmodells.

Beispiel (HDevelop)

gen_object_model_3d_from_points (200*(rand(100)-0.5), \
                                 200*(rand(100)-0.5), \
                                 200*(rand(100)-0.5), ObjectModel3D)
gen_circle (Circle, 240, 320, 60)
CamParam := ['area_scan_telecentric_division',1,0,1,1,320,240,640,480]
Pose := [0,0,1,0,0,0,0]
reduce_object_model_3d_by_view (Circle, ObjectModel3D, CamParam, \
                                Pose, ObjectModel3DReduced)
dev_get_window (WindowHandle)
visualize_object_model_3d (WindowHandle, [ObjectModel3D, \
                           ObjectModel3DReduced], CamParam, Pose, \
                           ['color_0', 'point_size_1'], ['blue',6], \
                           [], [], [], PoseOut)

Ergebnis

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

Vorgänger

read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d

Nachfolger

project_object_model_3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3dProjectObjectModel3d, object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyzObjectModel3dToXyz

Siehe auch

select_points_object_model_3dselect_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3dSelectPointsObjectModel3d

Modul

3D Metrology