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 — Remove points from a 3D object model by projecting it to a virtual view and removing all points outside of a given region.

Signature

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)

Description

reduce_object_model_3d_by_viewreduce_object_model_3d_by_viewReduceObjectModel3dByViewReduceObjectModel3dByViewReduceObjectModel3dByView projects the points of ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D into the image plane given by PosePosePosePosepose and CamParamCamParamCamParamCamParamcamParam and reduces the 3D object model to the points lying inside the region given in RegionRegionRegionRegionregion. In particular, the points are first transformed with the pose and then projected using the camera parameters. Only those points that are located inside the specified region are copied to the new 3D object model. Faces of a mesh are only contained in the output 3D object model if all corner points are within the region.

Attention

Cameras with hypercentric lenses are not supported.

Execution Information

Parameters

RegionRegionRegionRegionregion (input_object)  region(-array) objectHRegionHRegionHobject

Region in the image plane.

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

Handle of the 3D object model.

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

Internal camera parameters.

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

3D pose of the world coordinate system in camera coordinates.

Number of elements: Pose == 7

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

Handle of the reduced 3D object model.

Example (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)

Result

reduce_object_model_3d_by_viewreduce_object_model_3d_by_viewReduceObjectModel3dByViewReduceObjectModel3dByViewReduceObjectModel3dByView returns 2 (H_MSG_TRUE) if all parameters are correct. If necessary, an exception is raised.

Possible Predecessors

read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d

Possible Successors

project_object_model_3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3dProjectObjectModel3d, object_model_3d_to_xyzobject_model_3d_to_xyzObjectModel3dToXyzObjectModel3dToXyzObjectModel3dToXyz

See also

select_points_object_model_3dselect_points_object_model_3dSelectPointsObjectModel3dSelectPointsObjectModel3dSelectPointsObjectModel3d

Module

3D Metrology