最好的办法群重叠的矩形? 我已经使用OpenCV的尝试,但在grouprectangles
如预期的方法是行不通的。
我也想过做这样的事情:
L = [every rectangle]
L_next = []
while not L.empty():
for rectangle in L:
L.remove(rectangle)
for other_rectangle in L:
if rectangle overlaps with other_rectangle:
L_next += rectangle + other_rectangle
L = L_next
L_next = []
由于每一个不合并矩形会从下一张表被丢弃,在最坏的情况下,我有n/2
次迭代的外循环。 两个内环应该执行n
和n - 1
倍,这样的算法应该是大致O(n^3)
在最坏的情况下,假设我没有错过任何东西,并且每一步只需要O(1)
问题:
1)需要用等价类或东西的程度,以正确合并矩形的群体。 升压是否有这样的事情?
2)这似乎是那种将不得不频繁地进行操作的,所以我很惊讶它没有找到更多的材料。 那是怎么回事?
3)假设真的是不是已经落实要做到这一点的东西,没有任何人有一些建议,以提高我的方法?
4)什么是看两个矩形重叠的最佳方式?