我看了很多文章,但似乎没有一篇能回答这个问题。或者也许我只是不明白。我正在尝试构建一个四叉树,以便它可以表示一个图像。叶节点保存像素,非叶节点保存其子节点的平均值像素。
我的问题是:
叶节点只保存像素是如何工作的?为什么其他节点不保存像素?我们如何知道将原始根节点分割多少次以表示给定图像?我们是否只是将它分割 n
次,其中 n
是高度和宽度(对于正方形)?
编辑: 那么我如何跟踪叶节点,以便知道何时在该位置添加像素?现在我有一个辅助函数,可以为我划分区域,跟踪宽度和高度。
最佳答案
四叉树最适合大小为 2 的幂的正方形图像(例如,大多数纹理)。您不应该认为每个节点都代表一个“像素”。相反,可以将其视为表示“大小为 2^k 的方形像素 block ”。在最终叶子的情况下,k 为 0,因此每个叶子节点代表一个大小为 1 的方形像素 block ,即单个像素。树中的内部节点代表越来越大的图像部分。
关于algorithm - 尝试理解四叉树概念并将其应用于存储图像的着色信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5320110/