【问题标题】:How to create pyramid tiled TIFF from JPEG image in lossless way如何以无损方式从 JPEG 图像创建金字塔平铺 TIFF
【发布时间】:2011-07-29 10:16:46
【问题描述】:

我需要使用无损 jpeg 操作(即在 jpegtran 中裁剪)从大型 JPEG 图像创建带有 JPEG 压缩图块的平铺金字塔 TIFF 文件。是否有任何工具或java代码来执行这样的操作?

目前我正在使用我的 Java 代码创建平铺金字塔 TIFF,但它以有损方式进行:

public static void writeTiff(RenderedOp src, File dstFile, float jpegQuality, int tileSize, int pyramid, String interpolation) throws IOException {
    dstFile.getParentFile().mkdirs();
    TIFFImageWriterSpi imageWriterSpi = new TIFFImageWriterSpi();
    TIFFImageWriter imageWriter = (TIFFImageWriter)imageWriterSpi.createWriterInstance();
    ImageOutputStream out = new FileImageOutputStream(dstFile);
    try {
        imageWriter.setOutput(out);
        imageWriter.prepareWriteSequence(null);
        BufferedImage img = null;
        for(int i=0; i<pyramid; i++) {
            img = img==null ? src.getAsBufferedImage() : JAIUtils.scale(img, 0.5F, interpolation).getAsBufferedImage();
            TIFFImageWriteParam imageWriteParam = (TIFFImageWriteParam)imageWriter.getDefaultWriteParam();
            if (tileSize>0 && (img.getWidth()>tileSize || img.getHeight()>tileSize)) {
                imageWriteParam.setTilingMode(ImageWriteParam.MODE_EXPLICIT);
                imageWriteParam.setTiling(tileSize, tileSize, 0, 0);
            }
            if (jpegQuality > 0) {
                imageWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT );
                imageWriteParam.setCompressionType("JPEG");
                imageWriteParam.setCompressionQuality(jpegQuality);
            }
            imageWriter.writeToSequence(new IIOImage(img, null, null), imageWriteParam );
        }
        imageWriter.endWriteSequence();
    } finally {
        out.close();
    }
}

【问题讨论】:

    标签: java compression jpeg tiff lossless


    【解决方案1】:

    Ossim 在命令行中运行良好,但我看到它也有一个 JNI binding

    【讨论】:

    • 谢谢你的提示,我去看看
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    相关资源
    最近更新 更多