在Java中获取TIFF图像的像素值
ImageIO
包不适用于 .tif
图像,我无法从 .tif
创建 BufferedImage(我更熟悉的类) > 文件。
如何在Java中轻松获取TIFF图像的像素值?我怎样才能快速做到这一点?
我对图像处理没有经验,一些示例代码将不胜感激!
谢谢!
The ImageIO
package doesn't work with .tif
images and I cannot create a BufferedImage (Class I'm more familiar with) from a .tif
file.
How do I easily get the pixel value of a TIFF image in Java? How can I do it FAST?
I'm not experienced with image processing and some sample code would be greatly appreciated!
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您将需要 Java 高级成像 API:JAI 以便处理 TIFF 图像。
根据 JAI API 描述:
TIFF
除了基线规范之外,编码器和解码器还支持 PackBits、修改后的 Huffman 和 CCITT 双层编码(传真)、JPEG-in-TIFF(根据 TIFF 技术说明 #2) )和 DEFLATE 压缩方案,可以处理具有 16 位和 32 位积分样本以及 32 位浮点样本的图像,并且可以读取和写入所有支持的数据类型的平铺图像。此外,解码器还可以解压缩 LZW 压缩图像。
未来可能会解决其他功能。
通过使用带有“TIFF”运算符的页面参数可以最轻松地加载多页 TIFF 文件的单个页面,该运算符记录在 javax.media.jai.operator.TIFFDescriptor 的类注释中。此处包含的代码示例展示了直接使用辅助编解码器类加载多页 TIFF 文件中的单个页面的方法。
尝试其中一些教程。
You will need the Java Advanced Imaging API: JAI in order to work with TIFF images.
From the JAI API description:
TIFF
In addition to the baseline specification, the encoder and decoder support PackBits, modified Huffman and CCITT bilevel encodings (fax), JPEG-in-TIFF (per TIFF Technical Note #2), and DEFLATE compression schemes, can handle images with 16- and 32-bit integral samples and 32-bit floating point samples, and can read and write tiled images of all supported data types. The decoder in addition can decompress LZW-compressed imagery.
Additional features may be addressed in the future.
A single page of a multi-page TIFF file may loaded most easily by using the page parameter with the "TIFF" operator which is documented in the class comments of javax.media.jai.operator.TIFFDescriptor. A code sample is included here to show a means of loading a single page of a multi-page TIFF file using the ancillary codec classes directly.
Try out some of these tutorials.