工业自动化中,我们经常遇到这样的问题,两面一样,上料时,翻转了,没人知道,该怎么匹配到?让机器人能抓取上?
两面相似,翻转了,该怎么识别匹配,来料异常如何判断?
我们的匹配,是一个方向正负45度旋转,0.8-1.2的缩放(尺度),翻转后根本匹配不到。
就像我们数学中常用的坐标系,顺时针,逆时针一共360度,而坐标系针对y轴翻转后,就不会出现在这360度中,前头我们机器人九点标定涉及到这个问题,现在匹配中也出现了,该怎么办?
照猫画虎,参考机器人九点标定坐标系翻转,我们把学习的图像也翻转,这样问题不就搞定了吗?
道理是这样,试了试,没有不翻转识别率高,等改进ok了,我们在加进到megauging中去。
平常的学习是这样:
对比翻转后的学习:(上下翻转了)
这个手机sim卡针,翻转后是一样的,如下:
这种情况,你必须用翻转后的学习模板,才能匹配的到。
模板学习,图像是如何翻转的呢?c#代码如下:
//翻转图像202312081943
if(翻转)
for (int i = 0; i < roihh; i++)//上下翻转
for (int j = 0; j < roiww; j++)
{
int nn = i * roiww + j;
int mm = ((roihh - 1 - i) * roiww + j);
roiImage[nn] = roiImage1[mm];
}
//翻转图像202312081943
我们看一下匹配怎么样:
先学习一下:
把sim卡针翻转:并匹配,记住我们是正负45度范围:
还有这种情况出现:(原因是多方面的,比如翻转本来就不是原来的事物,这和坐标系翻转还是有差别)
继续改进吧,这个小尾巴不错,是找bug的利器!