此任务来自稳定背景上的跟踪对象。到目前为止,我能够删除背景并获得如下二进制掩码:
我需要在没有连接绳子的情况下获得玩具的边界矩形(在某些框架上它非常厚)。听起来很容易,但我不能想出一个很好的方法。
我尝试了与我裁剪的玩具模板的互相关。它不是很好,加上我需要矩形才能改变它的大小。电线增加了一些混乱。
由于脐带和偶尔的噪音, meanShift()
也没有显示出良好的效果。
现在我使用findContours()
进行一些调整,但它仍会在看起来像是一个好的图像上产生一些奇怪的界限。
我一直认为必须有一些更简单有效的解决方案。
答案 0 :(得分:0)
为了取下附着的绳子,我只需要关闭一个开口。就像你首先重新连接关闭点一样,然后你擦除孤立点并切断绳子。
然后,您可以使用相应的MatLab函数计算边界框。
答案 1 :(得分:0)
根据你的第二张照片,关闭过程可能会移除玩具的大部分(因为玩具的身体边缘很薄),所以(如果我们可以假设玩具的位置和你应该首先使用凸包,然后在"图像的每一行"另外,寻找厚实的物体(基于玩具在所有部分的宽度比绳索或嘈杂点更多的事实)。在每一行中,每条水平线的长度都超过阈值,保留该线,否则将其删除。通过这种方式,您可以重建玩具的凸包,现在您可以轻松地将矩形装入其中。