答案 0 :(得分:1)
我认为你问题中的主要问题是某些图标包含不相交的部分。 如果所有图标只在一个部分中,您可以在图像中找到“连接组件”(白色像素组)并隔离它们。
我不知道你在图像处理方面的水平,但是为了连接一个图标的部分,我可能会使用扩张,这是一种形态学方法来扩展(在约束下)图像中最大强度的区域。
如果您需要任何澄清,请告诉我们!
答案 1 :(得分:0)
一般情况下,这是不可能的:只有人类有足够的背景来确定哪些不相交的部分属于一起。你可以用各种方式来近似它,但这是一个失败的原因 - 而恕我直言完全没必要。想象一下为这个功能编写一个测试 - 这是不可能的,它需要一个人在循环中,因为任何特定图标表的结果都不一致。知道该算法适用于某个工作表,不会告诉您它是否适用于您对先验一无所知的其他工作表。
手动着色每个精灵的颜色与其邻居的颜色不同会更简单。然后一个贪婪的算法可以轻松地找到边界框,而不必近似任何东西。