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
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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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