目标凹坑

原图

观察到这个凹坑近似一个圆形,可以考虑使用圆定位进行定位,效果如图

假设这个样例中的凹坑并不是这种规则形状,可以考虑用图像处理工具先进性高斯计算,然后再进行二值化,形态学处理等,得到斑点(但就这张图我没有试出来,因为它旁边还有一个长条,容易粘连)

仅限于这张图片,如果考虑更多凹坑形状可以考虑使用深度学习功能,结合山君软件进行多种样本生成
凹坑直径计算.task
新增
使用了图像处理,尝试定位斑点之后使用圆定位(感觉还是不会通用,形状不一定就是圆形),图形拟合和最小包围图形计算直径,得到了3个结果,那么哪个结果能更有参考价值呢

凹坑直径计算_2.task
模板定位来实现这个功能,不太通用。粗定位还需要努力调一下,用更好的图像预处理方法和斑点定位来实现。斑点定位后,再加圆定位是可以的。
就直径计算而言,考虑非圆形对象,行业里一般就用最小包围矩形的长边来计算了。但在这个图里面,斑点分析得到的轮廓和肉眼感觉的凹坑的边界轮廓还差得比较大,所以,你的第二个task得到的斑点轮廓为基础计算的后续尺寸并没有比圆定位得到的直径更好。
这个图,确实因为凹坑附近有“把手”,所以无法很完整地靠阈值之类的图像处理方法直接找出类似圆的轮廓。所以,粗定位能用斑点类似的思路得到凹坑的大致位置,之后用圆定位或圆卡尺来得到圆的半径我觉得是目前能想到的最好的方法了。
你的第二个task里面,斑点输出的定位器和圆的ROI中心是不对齐的,这会影响通用性。如果想调的更好,应该让圆定位ROI和斑点输出的定位器中心对齐,但目前这个task里面,如果简单地拖一下圆定位ROI和斑点输出的定位器的中心对齐,会导致圆定位不稳定。所以,要么设法让找到的斑点更完整些,要么圆定位要调的更稳定更兼容各种偏移的圆。