我对洪水填充或边界填充颜色区域都很困惑。特别是当多种颜色在发挥作用。
假设我们有一个有绿色边框的多边形和一个格子的内部(黑白)。哪种算法能正确地填充绿色区域,为什么?
书中洪水填埋的定义:
有时,我们希望填写(或重新着色)一个区域,但没有定义在一个单一的颜色边界。我们可以通过替换指定的内部颜色而不是搜索特定的边界颜色来对这些区域造成痛苦。这个填充过程称为洪水填充算法.
发布于 2015-03-14 06:40:27
您应该使用边界填充算法。如果继续将区域向外着色,直到遇到选定的边界颜色为止。在您的情况下,边界颜色将是绿色。因此,algo将从任何内部点开始,并逐像素向外进行,直到遇到绿色(边界)。黑或白在这里都不重要。
发布于 2016-12-02 15:45:44
洪水填充从多边形内的任意点开始,然后向各个方向展开,填充像素。边界填充找到第一个边界,然后跟踪边界,蜿蜒进入内部。边界填充通常更复杂,但它是一种线性算法,不需要递归,而洪水填充可能会使用不可预测的内存量来完成,因为它不知道会产生多少子填充。
发布于 2014-10-30 13:32:42
实际上,您不应该在填充问题中看到多个颜色,而是两个类别:“是-a-边框”颜色或颜色集和“不-a-边框”(“内部”)颜色或颜色集。这是一个简单的二分法,就像图像是二进制的。
在您提到的情况下,边框是绿色的,内部是黑白的(您也可以考虑不绿色)。
https://stackoverflow.com/questions/26652305
复制相似问题