halcon中的一些函数

目录

  • 一、tuple_regexp_select
  • 二、calibrate_cameras_monocular例程
  • 三、pose_average
  • 四、rank_n
  • 五、dev_set_paint
  • 六、find_surface_model
  • 七、根据轮廓的长度属性选取长度前三对应的轮廓

一、tuple_regexp_select

选择匹配正则表达式的元组元素

tuple_regexp_select( : : Data, Expression : Selection)

二、calibrate_cameras_monocular例程

本地函数,创建3D可视化模型。

create_models( : : : MarksModel, PlateModel, CamModel, BaseModel)
create_viewing_volume( : : StartParam, Dist : VolumeModel)

创建一个3D场景,并设置相关属性。

create_scene_3d( : : : Scene3D)
add_scene_3d_camera( : : Scene3D, CameraParam : CameraIndex)
add_scene_3d_instance( : : Scene3D, ObjectModel3D, Pose : InstanceIndex)
set_scene_3d_instance_param( : : Scene3D, InstanceIndex, GenParamName, GenParamValue : )
set_scene_3d_to_world_pose( : : Scene3D, ToWorldPose : )

三、pose_average

计算一组pose的平均值。

pose_average( : : Poses, Weights, Mode, SigmaT, SigmaR : AveragePose, Quality)

四、rank_n

从多个通道返回选定的灰度值。

rank_n(Image : RankImage : RankIndex : )

五、dev_set_paint

定义用于在图形窗口中显示图像对象的输出模式。

dev_set_paint( : : Mode : )

在calibrate_sheet_of_light_3d_calib_object中,调用代码如下,可以显示类似3D效果。

dev_set_paint (['3d_plot', 'shaded', 8, 0.9, 0.02, 0.3, -0.3, 0.3, -0.01, -0.003, -0.025])
dev_display (CalibObjectDisparity)

六、find_surface_model

在3D场景中找到表面模型的最佳匹配。这里我们主要关注输出参数:Pose=(scs)Pose(mcs).
scs表示场景的坐标系(通常与传感器的坐标系、摄像机坐标系相同);
mcs表示模型坐标系(这是一个3D世界坐标系)

find_surface_model( : : SurfaceModelID, ObjectModel3D, RelSamplingDistance, KeyPointFraction, MinScore, ReturnResultHandle, GenParamName, GenParamValue : Pose, Score, SurfaceMatchingResultID)

利用模型匹配的Pose,让模板去和场景中的目标对齐。
Pose=ObjInCamPose=(Cam)Pose(obj).
find_surface_model 操作符在场景中ObjectModel3D查找与该表面模型SurfaceModelID匹配的实例时,函数会返回找到的匹配项的姿态(Pose)。这个姿态表示了匹配项在场景坐标系中的位置和方向。这个姿态是相对于create_surface_model的输入原始3D对象模型的坐标系而言的。换句话说,它是将模型从其原始坐标系(原始3D对象模型在场景中的Pose)变换到场景坐标系所需的变换。

pose_to_hom_mat3d (Pose, HomMat3D)
affine_trans_object_model_3d (Model3D, HomMat3D, OM3DModelTrans)

七、根据轮廓的长度属性选取长度前三对应的轮廓

这部分代码有很多相似应用,比如选取N个区域中面积前二对应的区域,N个图像中灰度值后二的图像。

length_xld (Contours, TupleA)
TupleA:=(5,3,4,7,2,1)
SelectedId := sort_index(-TupleA)[0:2] + 1
select_obj (Contours, ObjectSelected1, SelectedId[0])
select_obj (Contours, ObjectSelected2, SelectedId[1])
select_obj (Contours, ObjectSelected3, SelectedId[2])

你可能感兴趣的:(halcon,计算机视觉,图像处理)