0

实际上我正在使用 BufferedImages,它为我提供int类型的像素值。

你知道一个 Java 对象来表示一个精度或浮点类型的像素值的图像吗?

4

3 回答 3

1

您可以使用 Java 高级成像 API (JAI)。

JAI 引入了两个新的数据类,它们扩展了 Java 2DDataBuffer图像数据类:DataBufferFloatDataBufferDouble.

http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/J2D-concepts.doc.html#52401

于 2011-11-09T15:50:09.823 回答
1

我确实知道一个实现,但您可以使用 SampleModel/WritableRaster 独立访问波段并根据需要创建自己的支持。不过,它可能不会很有趣。虽然,我会质疑“访问组件(??)作为双精度/浮点数”的要求(除非你正在做一些有趣的事情,比如 OpenGL 8 位浮点数......无论如何都不会映射到 Java 浮点数:-)

于 2010-04-06T04:16:32.043 回答
1

我不确定您的最终目标是什么,但您可以查看java.awt.image.ColorModel 。或者你可以在 float[][]/double[][] 上进行处理,然后在需要对 BufferedImage 执行某些操作时进行舍入。

于 2010-04-06T04:24:25.690 回答