4

TesseractOCRエンジンで使用するためにビットマップ画像を非圧縮のtifファイルに変換しようとしています。

このメソッドを使用して、圧縮されたtifファイルを作成できます...

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

これらのファイルはJavaAdvancedImaging(JAI)で処理されるため、「jpg」がtifに変更されると、空のtifファイルが生成されます。

非圧縮のtif画像を作成するにはどうすればよいですか?上記のコードから生成されたtifイメージを解凍する必要がありますか、それとも変換プロセスを処理する別の方法がありますか?

提供された例をいただければ幸いです。

ありがとう

kingh32

4

2 に答える 2

3

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);
于 2010-10-02T13:18:01.717 に答える
0

tiff 画像の読み取りと jai による変換の問題に直面する少し前に。jai で tiff イメージを操作するためのサポートをインストールする必要があることがわかりました。それで問題なく動作します。ここから入手することもできます: https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/ CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jaiio-1.0_01-oth-JPR@CDS-CDS_Developer

jvmを介してインストールすると、それも機能します。ここでも見ることができます Java / JAI - 画像をグレースケールで保存します

于 2011-01-13T07:25:24.133 に答える