Imagem para uma matriz

pessoal qro jogar uma imagem para uma matriz tenhos esses metodos quem pegam a imagem e modifica seus pixels, para imagem ficar cinza, ai queria pegar ela e dividir em uma matriz [4][4]os seus pixels pra executar outros calculos. caso alguem queira saber o pq disso preciso implementar pra facu o filtro passa alta. caso alguem ja tenha feito tbm da um help ai vlw

public void obtemImagem(File f) throws Exception {
        
        imagem = ImageIO.read(f); //ImagemIO é um método estático
        int w = imagem.getWidth();
        int h = imagem.getHeight();
        pixels = imagem.getRGB(0, 0, w, h, null, 0, w);
     
    }
      
    public int obtemIntensidade(int indice){
        
        Color c = new Color(pixels [indice]);
        return(int) (0.3*c.getRed()+0.59*c.getGreen()+0.11*c.getBlue());
    }
   
    public void converteTonsDeCinza(){
        int intensidade;
        int w = imagem.getWidth();
        int h = imagem.getHeight();
        
        for (int i = 0; i < pixels.length; i++) {
            intensidade = this.obtemIntensidade(i);
            pixels[i] = new Color(intensidade,intensidade,intensidade).getRGB();
        }
        
        imagem.setRGB(0, 0, w,h,pixels,0,w);
    }

alguem?

Por favor, não duplique tópicos:

Esse tópico será trancado.