2010-10-02 24 views
4

我试图将位图图像转换为未压缩的tif文件以与Tesseract OCR引擎一起使用。将位图图像转换为Java中未压缩的tif图像

我可以用这个方法来产生压缩的TIF文件...

final BufferedImage bmp = ImageIO.read(new File("input.bmp")); 
ImageIO.write(bmp, "jpg", new File("output.tif")); 

这将产生一个空TIF文件时,“JPG”更改为TIF,因为这些文件在Java高级图像处理(JAI)。

如何创建一个未压缩的tif图像?我应该解压缩从上面的代码产生的tif图像还是有另一种方式来处理转换过程?

提供的任何示例将不胜感激。

感谢

kingh32

回答

2

您可以使用ImageWriteParam禁用压缩:

TIFFImageWriterSpi spi = new TIFFImageWriterSpi(); 
ImageWriter writer = spi.createWriterInstance(); 
ImageWriteParam param = writer.getDefaultWriteParam(); 
param.setCompressionMode(ImageWriteParam.MODE_DISABLED); 

ImageOutputStream ios = ImageIO.createImageOutputStream(new File("output.tif")); 
writer.setOutput(ios); 
writer.write(null, new IIOImage(bmp, null, null), param); 
+0

谢谢你这个作品! – Kingh32 2010-10-05 17:22:16