本人现在在学习一门图像处理的课程。可是由于太数学化,理论化基本上什么也不会,什么傅立叶变化之类的,基本不懂。但我想学好这么课,现向论坛里的朋友们请教,怎么样把通过java提取一幅图像的三原色矩阵,再改变这幅图像的像素从而改变原图。谢谢了,希望能附上一份简单的代码。

解决方案 »

  1.   

    BufferedImage
    的 int[] getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize) 
              从图像数据的某一部分返回默认 RGB 颜色模型 (TYPE_INT_ARGB) 和默认 sRGB 颜色空间中整数像素数组。可以得到数组的
    void setRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize) 
              将默认 RGB 颜色模型 (TYPE_INT_ARGB) 和默认 sRGB 颜色空间中的整数像素数组设置为图像数据的一部分。 可以变成图像
      

  2.   


    int w=im.getWidth(this);  int h=im.getHeight(this);  int[] pixels=new int[w*h];  public int[] Image2intAarry(Image im){  try{  PixelGrabber pg=new PixelGrabber(im,0,0,w,h,pixels,0,w);  pg.grabPixels();  }catch(InterruptedException e){  e.printStackTrace();  }  return pixels;  }