java - 在Java中将位图图像转换为未压缩的tif图像

标签 java image tiff jai

我正在尝试将位图图像转换为未压缩的 tif 文件,以便与 Tesseract OCR 引擎一起使用。

我可以用这个方法生成一个压缩的tif文件...

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

当“jpg”更改为 tif 时,这会生成一个空的 tif 文件,因为这些文件是在 Java 高级成像 (JAI) 中处理的。

如何创建未压缩的 tif 图像?我应该解压缩由上述代码生成的 tif 图像还是有其他方法来处理转换过程?

如能提供任何示例,我们将不胜感激。

谢谢

王32

最佳答案

您可以使用 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);

关于java - 在Java中将位图图像转换为未压缩的tif图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3845376/

相关文章:

java - 合并多个调用保留顺序

iOS Cordova 将本地文件设置为 img src

iOS 将极坐标定义的区域转换为 NxN 矩阵

c#-4.0 - 使用C#调整图像大小

c - 解码字典中没有的 TIFF LZW 代码

c++ - 当页面以 strip 形式保存时,如何查找多页 tiff 文件中的页数

java - 写入远程文件并将字符串转换为 url

java - 仅当在 Java 中按下鼠标时如何让 mouseEntered 执行

java - 如何使用selenium(JAVA)按列名称和行索引自动单击表格单元格中的链接

image - 在 Unity 3D 中更改按钮图像