原图:

halcon效果图:


source: https://www.51halcon.com/forum.php?mod=viewthread&tid=7749
原图:

halcon效果图:


source: https://www.51halcon.com/forum.php?mod=viewthread&tid=7749
第一时间考虑的是直线拟合+求交点+阵列拟合,但是两个问题:直线检测比较困难(角度过大,无法使用全图ROI,存在干扰),交点阵列拟合可能不稳定。
进一步考虑,需求是把菱形网格转正,似乎可以把网格作为一整个对象求其主方向:
首先通过形态学闭操作去除网格,提取背景:

将其与原图做差值,得到菱形网格对象:

对结果做单阈值以提高后续检测的鲁棒性:

对单阈值图像做斑点检测,得到菱形网格对象:

因为此处我们需要的是网格的角度,所以角度参数设置长轴方向,边缘一些不属于网格的干扰区域对角度基本无影响,保留即可,最终按照该角度旋转图像,得到最终结果

最后利用原网页上另一张图测试鲁棒性:


ps. 截止此回答提交,原halcon页面尚没有关于第二张图的回答
对应task为菱形网格转正.task灵闪3.8,3.9应均可用
感觉用整体的长轴角度不太稳妥,因为样品的长宽比可能会变。再挑战一下怎么用里面的线条的角度来做?