将图像分成几部分

时间:2014-01-01 15:29:40

标签: java image-processing bufferedimage xor

我正在使用以下代码进行XOR像素值

BufferedImage bi=ImageIO.read(new File(1.bmp));
BufferedImage img = new  BufferedImage(bi.getWidth(),bi.getHeight(),BufferedImage.TYPE_INT_RGB);

int[] pixel;

for (int y = 0; y < bi.getHeight(); y++) {
    for (int x = 0; x < bi.getWidth(); x++) {
        pixel = bi.getRaster().getPixel(x, y, new int[3]);
        img.setRGB(x, y, col);  
    }
}

2 个答案:

答案 0 :(得分:0)

您需要将这些值转换为参数 - 两个0和高度,宽度。

for (int y = 0; y < bi.getHeight(); y++) {
    for (int x = 0; x < bi.getWidth(); x++) {

更改它看起来像这样。

for (int y = y0; y < y1; y++) {
    for (int x = x0; x < x1; x++) {

现在把它变成一个函数/方法,然后对它进行4次调用,传递这些值。

  1. y0=0; y1=bi.getHeight()/2; x0=0; x1=bi.getWidth()/2
  2. y0=bi.getHeight()/2 + 1; y1=bi.getHeight(); x0=0; x1=bi.getWidth()/2
  3. y0=0; y1=bi.getHeight()/2; x0=bi.getWidth()/2+1; x1=bi.getWidth()
  4. y0=bi.getHeight()/2 + 1; y1=bi.getHeight(); x0=bi.getWidth()/2+1; x1=bi.getWidth()

答案 1 :(得分:0)

您可以使用getData(Ractangle rect)返回一个区域。检查here