project_shape_model_3d T_project_shape_model_3d ProjectShapeModel3d ProjectShapeModel3d project_shape_model_3d (算子)
名称
project_shape_model_3d T_project_shape_model_3d ProjectShapeModel3d ProjectShapeModel3d project_shape_model_3d — 将三维形状模型的边缘投影到图像坐标中。
签名
void ProjectShapeModel3d (HObject* ModelContours , const HTuple& ShapeModel3DID , const HTuple& CamParam , const HTuple& Pose , const HTuple& HiddenSurfaceRemoval , const HTuple& MinFaceAngle )
HXLDCont HShapeModel3D ::ProjectShapeModel3d (const HCamPar& CamParam , const HPose& Pose , const HString& HiddenSurfaceRemoval , const HTuple& MinFaceAngle ) const
HXLDCont HShapeModel3D ::ProjectShapeModel3d (const HCamPar& CamParam , const HPose& Pose , const HString& HiddenSurfaceRemoval , double MinFaceAngle ) const
HXLDCont HShapeModel3D ::ProjectShapeModel3d (const HCamPar& CamParam , const HPose& Pose , const char* HiddenSurfaceRemoval , double MinFaceAngle ) const
HXLDCont HShapeModel3D ::ProjectShapeModel3d (const HCamPar& CamParam , const HPose& Pose , const wchar_t* HiddenSurfaceRemoval , double MinFaceAngle ) const
(
Windows only)
HXLDCont HCamPar ::ProjectShapeModel3d (const HShapeModel3D& ShapeModel3DID , const HPose& Pose , const HString& HiddenSurfaceRemoval , const HTuple& MinFaceAngle ) const
HXLDCont HCamPar ::ProjectShapeModel3d (const HShapeModel3D& ShapeModel3DID , const HPose& Pose , const HString& HiddenSurfaceRemoval , double MinFaceAngle ) const
HXLDCont HCamPar ::ProjectShapeModel3d (const HShapeModel3D& ShapeModel3DID , const HPose& Pose , const char* HiddenSurfaceRemoval , double MinFaceAngle ) const
HXLDCont HCamPar ::ProjectShapeModel3d (const HShapeModel3D& ShapeModel3DID , const HPose& Pose , const wchar_t* HiddenSurfaceRemoval , double MinFaceAngle ) const
(
Windows only)
HXLDCont HPose ::ProjectShapeModel3d (const HShapeModel3D& ShapeModel3DID , const HCamPar& CamParam , const HString& HiddenSurfaceRemoval , const HTuple& MinFaceAngle ) const
HXLDCont HPose ::ProjectShapeModel3d (const HShapeModel3D& ShapeModel3DID , const HCamPar& CamParam , const HString& HiddenSurfaceRemoval , double MinFaceAngle ) const
HXLDCont HPose ::ProjectShapeModel3d (const HShapeModel3D& ShapeModel3DID , const HCamPar& CamParam , const char* HiddenSurfaceRemoval , double MinFaceAngle ) const
HXLDCont HPose ::ProjectShapeModel3d (const HShapeModel3D& ShapeModel3DID , const HCamPar& CamParam , const wchar_t* HiddenSurfaceRemoval , double MinFaceAngle ) const
(
Windows only)
static void HOperatorSet .ProjectShapeModel3d (out HObject modelContours , HTuple shapeModel3DID , HTuple camParam , HTuple pose , HTuple hiddenSurfaceRemoval , HTuple minFaceAngle )
HXLDCont HShapeModel3D .ProjectShapeModel3d (HCamPar camParam , HPose pose , string hiddenSurfaceRemoval , HTuple minFaceAngle )
HXLDCont HShapeModel3D .ProjectShapeModel3d (HCamPar camParam , HPose pose , string hiddenSurfaceRemoval , double minFaceAngle )
HXLDCont HCamPar .ProjectShapeModel3d (HShapeModel3D shapeModel3DID , HPose pose , string hiddenSurfaceRemoval , HTuple minFaceAngle )
HXLDCont HCamPar .ProjectShapeModel3d (HShapeModel3D shapeModel3DID , HPose pose , string hiddenSurfaceRemoval , double minFaceAngle )
HXLDCont HPose .ProjectShapeModel3d (HShapeModel3D shapeModel3DID , HCamPar camParam , string hiddenSurfaceRemoval , HTuple minFaceAngle )
HXLDCont HPose .ProjectShapeModel3d (HShapeModel3D shapeModel3DID , HCamPar camParam , string hiddenSurfaceRemoval , double minFaceAngle )
描述
算子 project_shape_model_3d project_shape_model_3d ProjectShapeModel3d ProjectShapeModel3d ProjectShapeModel3d project_shape_model_3d projects the edges of
the 3D object model that was used to create the 3D shape model
ShapeModel3DID ShapeModel3DID ShapeModel3DID ShapeModel3DID shapeModel3DID shape_model_3did into the image coordinate system and returns
the projected edges in ModelContours ModelContours ModelContours ModelContours modelContours model_contours . The coordinates of
the 3D object model are given in the 3D world coordinate
system (mcs ). First, they are transformed into the camera
coordinate system (ccs ) using the external camera parameters given
in Pose Pose Pose Pose pose pose .
Then, these coordinates are projected into the image coordinate system
based on the internal camera parameters CamParam CamParam CamParam CamParam camParam cam_param 。
The internal camera parameters CamParam CamParam CamParam CamParam camParam cam_param describe the
projection characteristics of the camera (see
标定 ).
The Pose Pose Pose Pose pose pose is in the form
,
see Transformations / Poses and
“Solution Guide III-C - 3D Vision”.
Hence, it describes the position and orientation of the model coordinate
system defined by the 3D object model relative to the camera coordinate
system.
The parameter HiddenSurfaceRemoval HiddenSurfaceRemoval HiddenSurfaceRemoval HiddenSurfaceRemoval hiddenSurfaceRemoval hidden_surface_removal can be used to switch on
or to switch off the removal of hidden surfaces. If
HiddenSurfaceRemoval HiddenSurfaceRemoval HiddenSurfaceRemoval HiddenSurfaceRemoval hiddenSurfaceRemoval hidden_surface_removal is set to 'true' "true" "true" "true" "true" "true" , only those
projected edges are returned that are not hidden by faces of the 3D
object model. If HiddenSurfaceRemoval HiddenSurfaceRemoval HiddenSurfaceRemoval HiddenSurfaceRemoval hiddenSurfaceRemoval hidden_surface_removal is set to
'false' "false" "false" "false" "false" "false" , all projected edges are returned. This is faster
than a projection with HiddenSurfaceRemoval HiddenSurfaceRemoval HiddenSurfaceRemoval HiddenSurfaceRemoval hiddenSurfaceRemoval hidden_surface_removal set to
'true' "true" "true" "true" "true" "true" .
If the system variable (see set_system set_system SetSystem SetSystem SetSystem set_system )
'opengl_hidden_surface_removal_enable' "opengl_hidden_surface_removal_enable" "opengl_hidden_surface_removal_enable" "opengl_hidden_surface_removal_enable" "opengl_hidden_surface_removal_enable" "opengl_hidden_surface_removal_enable" is set to 'true' "true" "true" "true" "true" "true"
(which is default if it is available) and HiddenSurfaceRemoval HiddenSurfaceRemoval HiddenSurfaceRemoval HiddenSurfaceRemoval hiddenSurfaceRemoval hidden_surface_removal is
set to 'true' "true" "true" "true" "true" "true" , the projection of the model is accelerated using
the graphics card.
Depending on the graphics card this is significantly faster than the non
accelerated algorithm. Be aware that the results of the OpenGL projection
are slightly different compared to the analytic projection. Notable, only
the contours visible through CamParam CamParam CamParam CamParam camParam cam_param are projected in this mode.
3D edges are only projected if the angle between the two 3D faces
that are incident with the 3D edge is at least
MinFaceAngle MinFaceAngle MinFaceAngle MinFaceAngle minFaceAngle min_face_angle . If MinFaceAngle MinFaceAngle MinFaceAngle MinFaceAngle minFaceAngle min_face_angle is set to
0.0 , all edges are projected. If MinFaceAngle MinFaceAngle MinFaceAngle MinFaceAngle minFaceAngle min_face_angle is
set to
(equivalent to 180 degrees), only the
silhouette of the 3D object model is returned. This parameter can be
used to suppress edges within curved surfaces, e.g., the surface of
a cylinder.
If for the model creation with create_shape_model_3d create_shape_model_3d CreateShapeModel3d CreateShapeModel3d CreateShapeModel3d create_shape_model_3d the parameter
'union_adjacent_contours' "union_adjacent_contours" "union_adjacent_contours" "union_adjacent_contours" "union_adjacent_contours" "union_adjacent_contours" was activated, adjacent contours
are joined.
project_shape_model_3d project_shape_model_3d ProjectShapeModel3d ProjectShapeModel3d ProjectShapeModel3d project_shape_model_3d and project_object_model_3d project_object_model_3d ProjectObjectModel3d ProjectObjectModel3d ProjectObjectModel3d project_object_model_3d
return the same result if the 3D object model that was used to
create the 3D shape model is passed to
project_object_model_3d project_object_model_3d ProjectObjectModel3d ProjectObjectModel3d ProjectObjectModel3d project_object_model_3d 。
project_shape_model_3d project_shape_model_3d ProjectShapeModel3d ProjectShapeModel3d ProjectShapeModel3d project_shape_model_3d is especially useful in order to
visualize the matches that are returned by
find_shape_model_3d find_shape_model_3d FindShapeModel3d FindShapeModel3d FindShapeModel3d find_shape_model_3d in the case that the underlying 3D
object model is no longer available.
执行信息
多线程类型:可重入(与非独占算子并行运行)。
多线程作用域:全局(可从任何线程调用)。
未采用并行化处理。
参数
ModelContours ModelContours ModelContours ModelContours modelContours model_contours (输出对象) xld_cont-array → object HXLDCont HObject HXLDCont Hobject *
Contour representation of the model view.
ShapeModel3DID ShapeModel3DID ShapeModel3DID ShapeModel3DID shapeModel3DID shape_model_3did (输入控制) shape_model_3d → HShapeModel3D , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Handle of the 3D shape model.
CamParam CamParam CamParam CamParam camParam cam_param (输入控制) campar → HCamPar , HTuple Sequence[Union[int, float, str]] HTuple Htuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Internal camera parameters.
Pose Pose Pose Pose pose pose (输入控制) pose → HPose , HTuple Sequence[Union[int, float]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
3D pose of the 3D shape model in the world
coordinate system.
HiddenSurfaceRemoval HiddenSurfaceRemoval HiddenSurfaceRemoval HiddenSurfaceRemoval hiddenSurfaceRemoval hidden_surface_removal (输入控制) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Remove hidden surfaces?
默认值:
'true'
"true"
"true"
"true"
"true"
"true"
值列表:
'false' "false" "false" "false" "false" "false" , 'true' "true" "true" "true" "true" "true"
MinFaceAngle MinFaceAngle MinFaceAngle MinFaceAngle minFaceAngle min_face_angle (输入控制) angle.rad → HTuple Union[int, float] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Smallest face angle for which the edge is displayed
默认值:
0.523599
建议值:
0.17, 0.26, 0.35, 0.52
结果
如果参数有效,算子
project_shape_model_3d project_shape_model_3d ProjectShapeModel3d ProjectShapeModel3d ProjectShapeModel3d project_shape_model_3d 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。
可能的前趋
create_shape_model_3d create_shape_model_3d CreateShapeModel3d CreateShapeModel3d CreateShapeModel3d create_shape_model_3d ,
read_shape_model_3d read_shape_model_3d ReadShapeModel3d ReadShapeModel3d ReadShapeModel3d read_shape_model_3d ,
get_shape_model_3d_params get_shape_model_3d_params GetShapeModel3dParams GetShapeModel3dParams GetShapeModel3dParams get_shape_model_3d_params ,
find_shape_model_3d find_shape_model_3d FindShapeModel3d FindShapeModel3d FindShapeModel3d find_shape_model_3d
替代
project_object_model_3d project_object_model_3d ProjectObjectModel3d ProjectObjectModel3d ProjectObjectModel3d project_object_model_3d
另见
convert_point_3d_cart_to_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher convert_point_3d_cart_to_spher ,
convert_point_3d_spher_to_cart convert_point_3d_spher_to_cart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart convert_point_3d_spher_to_cart ,
create_cam_pose_look_at_point create_cam_pose_look_at_point CreateCamPoseLookAtPoint CreateCamPoseLookAtPoint CreateCamPoseLookAtPoint create_cam_pose_look_at_point ,
trans_pose_shape_model_3d trans_pose_shape_model_3d TransPoseShapeModel3d TransPoseShapeModel3d TransPoseShapeModel3d trans_pose_shape_model_3d
模块
三维计量