Java 合适的数据结构

Java 合适的数据结构,java,algorithm,image-processing,data-structures,kdtree,Java,Algorithm,Image Processing,Data Structures,Kdtree,我有一个图像(appx 1000 x 1000)和一组小图像,每个10 x 10 我创建了一个(三维树)来存储每个磁贴的HSL值。我得到了一个磁贴RGB值的数组列表,该列表最接近目标图像中特定网格的HSL 问题是我不知道数组列表中的特定HSL属于哪个较小的映像。我有一个小图像类,它存储小图像被重用的次数。我需要访问这些字段以确定我可以使用哪个磁贴 是否有一种方法可以获取我获得的小图像HSL数组列表并获取小图像信息。该方法适用于从KdTree.XYZPoint派生的任何类。因此,优雅的方法是要么从

我有一个图像(appx 1000 x 1000)和一组小图像,每个10 x 10

我创建了一个(三维树)来存储每个磁贴的HSL值。我得到了一个磁贴RGB值的数组列表,该列表最接近目标图像中特定网格的HSL

问题是我不知道数组列表中的特定HSL属于哪个较小的映像。我有一个小图像类,它存储小图像被重用的次数。我需要访问这些字段以确定我可以使用哪个磁贴


是否有一种方法可以获取我获得的小图像HSL数组列表并获取小图像信息。

该方法适用于从
KdTree.XYZPoint
派生的任何类。因此,优雅的方法是要么从
KdTree.XYZPoint
派生tile类,要么从
KdTree.XYZPoint
派生一个新类,该类引用相应的tile对象。

KdTree的思想是在每个节点存储一个对象(tile)。但请注意:如果不查看一个磁贴内的颜色分布,结果可能不会令人满意。通过存储对象,我如何拆分树。KdTree的节点必须至少包含:*对正在构造的对象之一的引用(指针、索引等)*指向“左”和“右”子树的heads节点的指针。此外,节点应包含用于拆分为“左”和“右”的轴(0、1或2),但这也可以从深度派生。此外,还有一个指向父节点的指针可能会很有帮助。这是构建KdTree的过程:根据瓷砖的(平均)红色强度获取中间瓷砖,并从中创建头部节点。然后将平铺划分为具有较低和较高红色值的平铺,并通过使用绿色强度和递归方式构造“左”和“右”子树……更好的方法是从
KdTree.XYZPoint
派生平铺类。那么您就不需要更改KdTree实现。请注意,您引用的KdTree指定用于从
KdTree.XYZPoint
派生的任何类!嘿,coproc如果您可以在答案中删除对KD树实现的超链接引用,可以吗:)原因是什么?如果没有引用的实现,我的答案就没有意义。事实上,我认为你的问题也是如此。您不应该再次删除问题中的链接。