Java 如何将从边界框获得的多个缓冲图像并排合并到一个图像文件中?
我正在阅读tiff文件,并根据每个字符的置信度值提取边界框图像。我想分离一些图像并合并为一个图像文件以用于训练数据集。Hi@DmitriiZ的可能重复。我不是在寻找将多个PNG文件组合成一个文件的方法。我已经给出了我所寻找的答案,因为我能够破解它。在这里,首先我提取了我想要合并到文件夹中的所有tiff文件,然后将其作为输入提供给BuffereImage[]。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
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();
}