十字定位标记中心坐标值计算方法——模板匹配

  对于十字定位标记,最稳健的方式是使用模板匹配得到定为标志中心。十字定位标记和圆不同,阈值之后没有稳健的形状拟合。因此,阈值的结果如果有孔洞或者边缘误差,其中心坐标值计算结果会不稳定。所以,对于十字标记或者其他的定位标记物,建议使用模板匹配计算中心值作为定位基准。其实现过程可分为2步:1是制作十字模板;2是进行模板的匹配。

制作十字模板

*此函数是根据根据图像建立模板
read_image (Image, 'F:/SZWX912/TestImage/912TestImage1111/111.bmp')
*缩小至点位标志区域
gen_rectangle1 (Rectangle, 1067, 1415, 1191, 1563)
reduce_domain (Image, Rectangle, ImageReduced)
*阈值和填充得到饱满的Region
threshold (ImageReduced, Region, 126, 255)
fill_up (Region, Region)
reduce_domain (ImageReduced, Region, ImageReduced1)
crop_domain (ImageReduced1, ImagePart)
*创建边缘形状模板,该模板比整个的形状模板耗时要少
gen_contour_region_xld (RegionOpening, Contours, 'border')
create_shape_model_xld (Contours, 'auto', -0.39, 0.79, 'auto', 'auto', 'ignore_local_polarity', 5, ModelID)
write_shape_model (ModelID, 'F:/SZWX912/work_x32_MFOL2/CrossModel/CrossModel.shm')

计算定位中心坐标值

  通过find_shape_model函数遍历图像寻找模板,并得到计算中心。

(1)读取模板
read_shape_model ('F:/SZWX912/work_x32_MFOL2/CrossModel/CrossModel.shm', ModelID)
(2)读取图像
read_image (ModelImage, 'F:/SZWX912/work_x32_MFOL2/ModelImage/WireBondingModel1.bmp')
(3)在图像中寻找模板的位置,这样就得到了模板的坐标值CrossRowofTemplet和CrossColofTemplet
find_shape_model (ModelImage, ModelID, -0.39, 0.78, 0.1, 2, 0.5, 'none', 0, 0.8, CrossRowofTemplet, CrossColofTemplet, ModelAngle, ModelScore)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值