Criar um objeto Image a partir de um vetor de pixels

Como poderia criar um objeto Image a partir dos pixels extraídos de outra imagem?

Explicando melhor:

// Essa é a imagem inicial carregada a partir de um arquivo
Image im = new ImageIcon("Imagem.jpg").getImage();

/* Esse método retorna um vetor de inteiros que contém os valores dos pixels da imagem inicial que estão dentro do retângulo (0, 0, 50, 50) */
  public int[] extractPixelValues(Image image) {
  
	  	int pixels[] = new int[50 * 50];
	  	PixelGrabber grabber = new PixelGrabber(image, 0, 0, 50/*width*/,
	  								50 /*height*/, pixels, 0, 50);
       	cm = grabber.getColorModel(); 
       	  try {
	      boolean result = grabber.grabPixels(); //bug in PixelGrabber?
	      if (!result) {
	        System.err.println("Could not grab pixels from image before quantum"+
	                           " expired.");
	        return pixels;

	      }
	    }
	    catch (InterruptedException e) {System.err.println("Grab interrupted.");}
	
	    //each pixel value is of the form alpha, red, green, blue, so we must
	    //keep only the last 8 bits to make it fall between 0 and 255.
	    for (int k = 0; k < pixels.length; k++) pixels[k] &= 255;
	  	cm = grabber.getColorModel(); 
	    return pixels;
}


//

Uma vez que tenha os pixels desejados armazenados em um vetor de inteiros, desejo criar uma nova imagem a partir desses pixels.

Alguém poderia dar uma ajuda?