find_planar_calib_deformable_model查找可变形模板一般都要和create_planar_calib_deformable_model或者read_deformable_model函数搭配使用
find_planar_calib_deformable_model(Image : : ModelID,AngleStart,AngleExtent,ScaleRMin,ScaleRMax,ScaleCMin,ScaleCMax,MinScore,NumMatches,MaxOverlap,NumLevels,Greediness,ParamName,ParamValue :Pose,CovPose,Score)
Image:查找模板的源图像
ModelID:用来查找的模板
AngleStart:查找的开始角度,为弧度值
AngleExtent:查找模板时候旋转的程度
ScaleRMin:在行方向最小匹配分数
ScaleRMax:在行方向最大匹配分数
ScaleCMin:在列方向最小匹配分数
ScaleCMax:在列方向最大匹配分数
MinScore:最小的模型匹配分数
NumMatches:设置查找匹配模板的个数
MaxOverlap:设置查找时候的最大重叠度
NumLevels:设置匹配的金字塔等级
Greediness:搜索算法
ParamName:需要得到的参数名字
ParamValue:要得到的参数的值
Pose:对象位姿
CovPose:位姿的6标准差或是36协方差
Score:查找模板匹配到的分数
例如:find_planar_calib_deformable_model (Image, ModelID, rad(0), rad(360), 1, 1, 1, 1, 0.65, 0, 0, 3, 0.9, [], [], Pose, CovPose, Score)
create_planar_calib_deformable_model(Template : : CamParam,ReferencePose,NumLevels,AngleStart,AngleExtent,AngleStep,ScaleRMin,ScaleRMax,ScaleRStep,ScaleCMin,ScaleCMax,ScaleCStep,Optimization,Metric,Contrast,MinContrast,ParamName,ParamValue :ModelID)
Template:用来制作可变形模板的图像,即该图像中包含要模板
CamParm:相机的内部定位参数,即内部位姿。描述的是世界坐标系和成像平面之间的转换关系
ReferencePose:相关图像中对象的相关位姿,描述的是相机坐标系和世界坐标系的转换关系
NumLeveLs:金字塔等级
AngleStart:模板可变形程度的的最小旋转角度
AngleExtent:旋转角度的程度
AngleStep:旋转角度步长,默认设为“auto"
ScaleRMin:行方向模型的最小匹配分数
ScaleRMax:行方向模型最大匹配分数
ScaleRStep:行方向匹配步长
ScaleCMin:列方向最小匹配分数
ScaleCMax:列方向最大匹配分数
ScaleCStep:列方向查找的步长
Optimization:设置产生模型的最优化算法
Metric:匹配度量,默认为:use_polarity
Contrast:在模板源图像中为对象的对比度设置阈值 默认为”auto"
MinConstrast:查找图像的最小对比度 默认为“auto"
ParamName:要得到的参数名
ParamValue:参数值
ModelID:产生的模型ID。句柄
举例:create_planar_calib_deformable_model (ImageReduced, CamParam, PoseModelPlane, 3, 0, rad(360), 'auto', 1, 1, 'auto', 1, 1, 'auto', 'none', 'use_polarity', 'auto', 'auto', [], [], ModelID)
同时,create_planar_calib_deformable_model要和get_deformable_model_contours搭配使用,才能得到生成的可变形轮廓
步骤:第一步,载入图像,并对图像进行处理,分割出区域,阈值去除小点,膨胀操作,闭合操作等操作
(载入图像可以载入DXF类型的图形文件,使用read_contour_xld_dxf函数即可)
第二步:载入相机参数,并将相机坐标系下转换为世界坐标系
第三步:世界坐标系下创建一个可变形模板
第四步:在图像中查找可变形模板