gpt4 book ai didi

Java 处理 TIF 图像

转载 作者:行者123 更新时间:2023-12-04 21:28:52 25 4
gpt4 key购买 nike

我的问题是,如何才能将 .tif 文件成功加载到 Java 中的 Image 实例中?

现在让我详细介绍一下。我已经阅读了很多关于如何在 Java 中处理/转换 TIF 图像的 stackoverflow 线程。我已经尝试了很多 stackoverflow 的建议(我说的是建议,因为很少有人回来说对他们有用)。我很确定我需要使用 Java 高级成像 (JAI) 库,但我认为我不知道如何使用它。现在让我解释一下这个项目:

我正在从 Processing sketch 中截取帧屏幕,并使用 Xuggler 将它们编码为视频。在草图中,我使用 Processing 的 save(file filePath) 函数将当前帧保存到文件中。我曾经有 save("img"+i+".jpg"),但是在创建 jpg 时发生的压缩将录制速度减慢到 9-10fps,所以我切换了文件扩展名看看我是否能得到不同的结果,save("img"+i".tif") 是最快的,允许我以大约 22-23fps 的速度录制。

处理可以将图像保存为.tif 文件。不幸的是,Java 无法在没有库的情况下加载 .tif 文件。我曾经有代码:
Image img = Toolkit.getDefaultToolkit().getImage("pics/img"+i+".jpg");
该行代码会将 .jpg 文件加载到 img 中,我很乐意对视频进行编码。但是这行代码(tif 而不是 jpg):
Image img = Toolkit.getDefaultToolkit().getImage("pics/img"+i+".tif");
不会加载任何图像。我仍然可以使用 Xuggler 对我的视频进行编码,但是图像是空白的,所以我认为这种方法无法加载我的 .tif 文件。

我在 Windows 8 计算机上工作,并使用 Eclipse。非常感谢任何帮助!

最佳答案

您不需要使用 JAI。我建议您使用普通的 ImageIO API 和 TIFF 插件。

对于 Java 9 及更高版本,基本的 TIFF 插件与 JDK 捆绑在一起。对于早期版本,或者如果您需要更高级的功能,还有其他几个适用于 ImageIO 的 TIFF 插件可用,并且根据您的需要,您可以使用 jai-imageio 中的插件,我的 TIFF plugin或其他一些第三方插件。

我的插件支持最常见的 TIFF 类型。与 jai-imageio 相比,不需要本地库。您可以将 Maven 依赖项添加到您的项目或直接从 this link 下载。 .

使用 ImageIO API 的好处是,在正确安装插件后,您需要做的就是:

BufferedImage img = ImageIO.read("pics/img"+i+".tif"); 

关于Java 处理 TIF 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20011604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com