Java 如何获取一组像素并将其合并为一组

Java 如何获取一组像素并将其合并为一组,java,image-processing,Java,Image Processing,我试图创建一个程序来查找彼此相似的图像,我找到了一个站点(),该站点提供了创建图像指纹的函数的步骤,第一步是将图像大小减小到8×8(64像素)图像,但我不知道如何将一组像素转换为一个像素,例如 [(R,G,B)][(R,G,B)][(R,G,B)] [(R,G,B)][(R,G,B)][(R,G,B)] [(R,G,B)][(R,G,B)][(R,G,B)] 以这组像素为例,每个像素都有一个不同的R、G和B值,我如何将它们全部取下来,并将它们转换为一组值,例如 [(R,G,B)] 我想也许把

我试图创建一个程序来查找彼此相似的图像,我找到了一个站点(),该站点提供了创建图像指纹的函数的步骤,第一步是将图像大小减小到8×8(64像素)图像,但我不知道如何将一组像素转换为一个像素,例如

[(R,G,B)][(R,G,B)][(R,G,B)]
[(R,G,B)][(R,G,B)][(R,G,B)]
[(R,G,B)][(R,G,B)][(R,G,B)]
以这组像素为例,每个像素都有一个不同的R、G和B值,我如何将它们全部取下来,并将它们转换为一组值,例如

[(R,G,B)]

我想也许把所有的R,G和B值加起来,然后取平均值,但这似乎很简单,有人知道怎么做吗?我正在用java编写这个程序。

缩小规模有很多不同的方法,您可以根据预期的结果选择一种。一个简单的例子是:但由于简单,这不会导致非常详细的结果

如果图片实际上是照片(而不是像素艺术),则更先进的技术,即或更适合。但是链接中缩小的图片也没有留下太多细节——所以最近的邻居似乎已经足够了(至少从一开始)

public int[]大小像素(int[]像素,int w1,int h1,int w2,int h2){
int[]temp=新int[w2*h2];
双x_比=w1/(双)w2;
双y_比=h1/(双)h2;
双px,py;

对于(int i=0;其平均值可能很简单,但如果你想用一个数字来表示一组数字,那么在没有理由使用任何其他数字的情况下,这通常是最好的选择。如果你不喜欢平均值,请尝试模式、最小值、最大值、中值,以及你喜欢的任何其他统计数据。但是,一如既往,你应该有一些想法r统计选择。两幅图像的灰度化使其更简单。
public int[] resizePixels(int[] pixels,int w1,int h1,int w2,int h2) {
    int[] temp = new int[w2*h2] ;
    double x_ratio = w1/(double)w2 ;
    double y_ratio = h1/(double)h2 ;
    double px, py ; 
    for (int i=0;i<h2;i++) {
        for (int j=0;j<w2;j++) {
            px = Math.floor(j*x_ratio) ;
            py = Math.floor(i*y_ratio) ;
            temp[(i*w2)+j] = pixels[(int)((py*w1)+px)] ;
        }
    }
    return temp ;
}