夜雨聆风学习资料网

ARTICLE · 1202241

C#实现形状模板定位:使用金字塔匹配与旋转

C#实现形状模板定位:使用金字塔匹配与旋转

C#实现形状模板定位:使用金字塔匹配与旋转

产线上那个连接器定位,差点把我逼疯。工件在载具里乱转,最多偏个±15°。用OpenCV的MatchTemplate直接扫,稍微一歪分数就掉。设高了漏检,设低了误匹配。

最笨的办法是把模板转36个角度全图搜。一张2000×2000的大图,单帧得跑两三秒。后来我套了个金字塔加旋转容差的方案。先在缩略图上粗筛,再在原图上精确定位。单帧耗时直接压到了15毫秒以内。

代码实现里有几个坑得防着点。旋转后的模板外接矩形会变大。坐标映射必须按新尺寸算,不能拿原尺寸硬套。还有金字塔层级的坐标换算,得乘2的level次方才能还原。方向搞反了搜索区域全错。

另外旋转边缘别补黑边,用复制边缘像素效果好得多。参数先按3层金字塔、粗5°细1°、阈值0.8来试。要是最高层死活匹配不上,就把层数减掉一层。或者把阈值降到0.6试试水。

原文C#实现形状模板定位:使用金字塔匹配与旋转容差实现工件精准定位
上海,1小时前,

相关学习资料