|
类型 |
形状模板匹配 | ||||||||||||
|
描述 |
使用单形状模板,在图像img上进行匹配查找,并输出模板轮廓点的匹配状态 | ||||||||||||
|
语法 |
ZV_SHAPEFINDST(model,img,matchs,stats,min_score[,nums=0,min_dist=0,min_thresh=-1,accuracy=3,speed=9,polar=0]) 参数: model:ZVOBJECT类型,形状模板 img:ZVOBJECT类型,待匹配的搜索图像,不能和模板图片1:1等比大小,8U单通道 matchs:ZVOBJECT类型,匹配结果,矩阵类型,n行5列,每行一个匹配目标,列依次为匹配分数score、x坐标、y坐标、旋转角度angle、缩放比例scale stats:ZVOBJECT类型,模板轮廓点每个点的匹配状态,n x m矩阵int型数据类型,每行一个模板轮廓,行上依次存储每个轮廓点的匹配状态 ,即对于某个轮廓点来说,匹配分数大于等于设置分数时为1(匹配成功),小于匹配分数时为0(匹配失败,为空时则不输出轮廓点匹配状态,不为空时则输出轮廓点匹配状态,此输出参数结合绘制模板指令zv_dra_shapeMatch可将匹配成功点和失败点绘制不同的颜色 min_score:最小匹配分值,(0,100],分值越高匹配的目标越准确,越低容易将非目标当成目标 nums:最大匹配数量,[0, 无穷),当num大于真实目标时,以目标分数从高到低输出所有目标;当num小于真实目标时,以目标分数从高到低输出num个目标;当num为0时,以目标分数从高到低输出所有目标 min_dist:最小距离,为0时自动选择距离,表示匹配结果允许的相隔距离,当匹配结果距离小于最小距离时将只保留最好的结果,主要用于去除重叠的目标对象,匹配不重叠的目标时建议值使用0,当搜索图中只有一个目标时也可将最小距离设置大一些,会加快匹配速度但不明显 min_thresh:目标轮廓的最低边缘阈值,minThresh小于零时将使用创建模板时的阈值 accuracy:匹配精度,0-像素精度,1-插值精度,2-最小二乘拟合精度,3-多次迭代的最小二乘拟合精度 speed:匹配速度0-10,越大速度越快,但可能丢失目标,大于10时取10 polar:匹配极性
| ||||||||||||
|
适用控制器 |
支持ZV功能或者5系列以上的控制器 | ||||||||||||
|
例子 |
ZV_SETSYSINT("ShapeCreateLevel",4)'设置为完全创建模板特征 ZVOBJECT img, model, match_img, results, stats, color_img ZV_READIMAGE(img, "model.jpg", 0)'以原图像格式读取图片 ZV_SHAPECREATE(img,model,0,360,1,1,50,0,0,0,0) '创建模板 ZV_READIMAGE(match_img, "1.png", 0)'以原图像格式读取图片 ZV_SHAPEFINDST(model,match_img,results,stats,90,1,0,-1,3,9,0)'模板匹配 ZV_GRAYTORGB(match_img,color_img)'灰度图转化为RGB图像 ZV_DRASHAPEMATCH(color_img,model,results,stats,ZV_COLOR(0,255,0),ZV_COLOR(255,0,0))'在彩色图像上绘制模板,并且匹配成功的轮廓点绘制绿色,匹配失败的轮廓点绘制红色 | ||||||||||||
|
相关指令 |