我正在尝试使用四叉树(4元树)来存储给定 BMP 图像中的信息。
我不知道如何构建这棵树,以适应任何 BMP 图像。基本上,树的结构是这样的,每个叶节点代表一个像素。每个节点有 4 个指针,每个指针都指向图像中剩余的四个象限之一。因此,每个节点将当前图像分成四部分。到了叶子节点,就到达了一个特定的像素。
我不确定如何构建一棵树来映射某个图像。假设该图像的尺寸是2的幂次方,我该怎么办?我明白,一个递归函数可能最优雅地完成这项任务,但我仍在思考如何跟踪我要去哪个像素。
这是用 C++ 编写的,我的 quadtree.h 文件目前包括一个 Node* 根节点,其中节点被定义为具有像素元素和 4 个指向其他节点的指针的结构。每个内部节点(非叶子节点)应该保存它所指向的所有 4 个 RGB 值的平均值。
我正在制作一个算法,但我认为我可能需要在 .h 文件中包含一个或两个结构体。有没有更好/更清晰的方法来解决这个问题?
我不知道如何构建这棵树,以适应任何 BMP 图像。基本上,树的结构是这样的,每个叶节点代表一个像素。每个节点有 4 个指针,每个指针都指向图像中剩余的四个象限之一。因此,每个节点将当前图像分成四部分。到了叶子节点,就到达了一个特定的像素。
我不确定如何构建一棵树来映射某个图像。假设该图像的尺寸是2的幂次方,我该怎么办?我明白,一个递归函数可能最优雅地完成这项任务,但我仍在思考如何跟踪我要去哪个像素。
这是用 C++ 编写的,我的 quadtree.h 文件目前包括一个 Node* 根节点,其中节点被定义为具有像素元素和 4 个指向其他节点的指针的结构。每个内部节点(非叶子节点)应该保存它所指向的所有 4 个 RGB 值的平均值。
我正在制作一个算法,但我认为我可能需要在 .h 文件中包含一个或两个结构体。有没有更好/更清晰的方法来解决这个问题?