Java 如何将从边界框获得的多个缓冲图像并排合并到一个图像文件中?

Java 如何将从边界框获得的多个缓冲图像并排合并到一个图像文件中?,java,ocr,tesseract,bounding-box,Java,Ocr,Tesseract,Bounding Box,我正在阅读tiff文件,并根据每个字符的置信度值提取边界框图像。我想分离一些图像并合并为一个图像文件以用于训练数据集。Hi@DmitriiZ的可能重复。我不是在寻找将多个PNG文件组合成一个文件的方法。我已经给出了我所寻找的答案,因为我能够破解它。在这里,首先我提取了我想要合并到文件夹中的所有tiff文件,然后将其作为输入提供给BuffereImage[]。 BufferedImage[] input = new BufferedImage[count-1]; //Load each input

我正在阅读tiff文件,并根据每个字符的置信度值提取边界框图像。我想分离一些图像并合并为一个图像文件以用于训练数据集。

Hi@DmitriiZ的可能重复。我不是在寻找将多个PNG文件组合成一个文件的方法。我已经给出了我所寻找的答案,因为我能够破解它。在这里,首先我提取了我想要合并到文件夹中的所有tiff文件,然后将其作为输入提供给BuffereImage[]。
BufferedImage[] input = new BufferedImage[count-1];
//Load each input image.
for(int index=0; index<input.length; index++) {
try {
     File f = new File("folder_path\\"+img_"+ 
(index+1)+".tiff");
     input[index] = ImageIO.read(f);
     }
catch(Exception e) {
          e.printStackTrace();
      }
  }

  int offset  = 5, width=0, height=input[0].getHeight();
  for(int index=0; index<input.length; index++) {
        width+=input[index].getWidth();
        if(height<input[index].getHeight())
        {
            height=input[index].getHeight();
        }
  }
  width+=count*offset;
  height+=offset;

  //Create Output image
  BufferedImage output = new BufferedImage(width,height,BufferedImage.TYPE_INT_ARGB);
  Graphics2D g2 = output.createGraphics();
  Color oldColor = g2.getColor();

//fill background
  g2.setPaint(Color.WHITE);
  g2.fillRect(0, 0, width, height);

//draw image
  g2.setColor(oldColor);
  int xcordinate=0;
  for(int index=0; index<input.length; index++) {
      g2.drawImage(input[index], null, xcordinate, 0);
      xcordinate+=input[index].getWidth()+offset;
  }
  g2.dispose();
  File merged = new File("folder_path\\"+merged_2_new.tiff");
  try {
      ImageIO.write(output, "tiff", merged);
  }
  catch(Exception e) {
      e.printStackTrace();
  }