algorithm - 填充操作在绘画应用程序中如何工作?

标签 algorithm image-processing

所有绘画程序,无论它们多么简单或复杂,都带有一个填充工具。这基本上用另一种颜色替换了封闭区域的颜色。我知道有不同的 API 可以执行此操作,但我对算法很感兴趣。实现此工具的有效算法是什么?

我能很快想到的几件事是:

  1. 将图像转换为二进制映射,其中要替换的颜色中的像素为 1,所有其他颜色为 0
  2. 在要更改的点周围找到一个封闭区域,使内部所有像素均为 1,所有相邻像素均为 0。

Sample Image

最佳答案

许多实现都是作为递归征服和划分算法完成的。如果您快速搜索“洪水填充算法”,您会发现大量资源,包括 the topic 上的优秀维基百科页面。 .

关于algorithm - 填充操作在绘画应用程序中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/274213/

相关文章:

c++ - 使用 openCV 进行 alpha 混合

php - 从图像和 PDF 中提取单词 - Laravel

algorithm - 优化学生座位安排的算法

C++设置: counting elements less than a value

java - 2D Raytracer 算法

javascript - 使用环绕在一维阵列网格中查找邻居的更优雅的方法?

algorithm - 点到多边形的距离

algorithm - 通过点位置或图像进行角点检测

java - 当前 Java 的 OpenCL 实现是否提供跨平台支持以及在项目中使用的稳定性?

python - 如何在大图中定位二维码以提高解码性能?