稳定找到纸箱内部的分隔骨架,检测哪个槽没有产品并标注出来

Viewed 150

最终要求是哪个槽没产品要渲染红框在对应槽的位置,有产品要渲染绿框,并且计数
3c7b5cd88cd4e6446864f0c3a0b3dcf9.jpg
4156304bfcee3d1fba8586d021b8b041.jpg

这两个图是不是只有第二个图有缺

是的,第一个是满的

2 Answers

1、使用直线定位定位横向和竖向的直线
image.png
2、使用循环工具循环线的交点算法,得出各个交点
image.png
3、用拆分工具去除每一列的最后一个交点,并使用循环工具以交点作为矩形左上角的顶点循环绘制矩形
image.png
4、根据每个矩形里的像素分布来判断槽内是否为空,若槽内有物体,225到255的像素会偏多,使用像素统计算法循环判定得出矩形内225到255的像素数量
image.png
5、使用脚本获取像素值大于设定值的矩形下标和小于设定值的矩形下标
image.png
6、根据下标去循环索引工具绘制最终的矩形结果
image.png
task如下:task版本3.8.80空槽判定.task(https://q.intelliblink.com/uploads/files/post/5FaVsGmisHE/%E7%A9%BA%E6%A7%BD%E5%88%A4%E5%AE%9A.task)
目前两张图参数无法调用,需要分开调参
image.png
task如下:空槽判定2.task

如果是基于像素灰度值判断那个槽是空的,可以考虑在定位出所有的小矩形之后,用蒙版工具构造一个二值图(包含所有分离的白色小矩形),给多斑点工具作为蒙版使用,然后配置多斑点工具的过滤器,设置灰度范围即可

这样可以避免写脚本

方法确实是可行的,但我现在定出来的小矩形会有小部分重叠,给蒙版之后有重叠的小矩形就连在一起了,没办法分开

给每个小矩形用多边形修改工具,缩小一些