在简单图像中查找角点坐标的算法

时间:2011-04-12 03:54:45

标签: algorithm graphics detection pixel intersection

我有一个位图,其中两个大块颜色相交,我想找到这两个块的交集。

enter image description here

请注意,我不知道这两个形状的实际几何形状,因为这只是原始像素数据。

我可以使用任何算法来执行此操作吗?

1 个答案:

答案 0 :(得分:1)

如果您拥有内存中的所有像素数据(我假设您这样做,但这是一个主要的关键点)并且只有两种不同的颜色,您需要做的就是运行水平扫描线来查找RGB从颜色X变为颜色Y的点(请注意,您可能需要运行此扫描线几次,但无论如何它都不会比O(高度)差)。
然后,一个简单的图形遍历(BFS或DFS)将继续沿着该线向下移动(您应该只需要3个点,然后您将能够形成具有等式a * x + b * y + c = 0的几何线(假设它不是曲线)) 垂直重复此扫描线(再次,最坏情况下,它是O(宽度))。找到3个点然后你会有两行d * x + e * y + f = 0.使用一点点comp。 geom,这两行的交集会给你你的观点。