給出的n * m個矩陣的1,2中的可能的值和空:我尋找所有塊B(含有之間的所有值找到具有特定屬性的所有矩形區域以矩陣
. . . . . 1 . .
. 1 . . . . . 1
. . . 2 . . . .
. . . . 2 . . .
1 . . . . . 1 .
. . . . . . . .
. . 1 . . 2 . .
2 . . . . . . 1
( X0,Y0)和(X1,Y1)),其:
- 包含至少一個 '1'
- 不含 '2'
- 不是另一個塊的與上述特性 一個子集
實施例:
的紅色,綠色和藍色區域中的所有包含一個 '1',沒有 '2',而不是一個較大區域的一部分。 這張照片當然有3個以上的這種方塊。我想找到所有這些塊。
什麼是快速找到所有這些區域的方法?
我有一個工作蠻力的解決方案,遍歷所有可能的矩形,檢查它們是否滿足前兩個條件;然後遍歷所有找到的矩形,移除包含在另一個矩形中的所有矩形;我可以通過首先刪除連續的相同行和列來加快速度。但我相當確定有一個更快的方法。
這些塊的所有邊將位於圖的邊緣或與「2」相鄰。也許你可以做些什麼。 – robert
如果你在這裏沒有得到很好的答案,你也可以在http://cs.stackexchange.com上提問。 –