像素的 16 位整数无符号值

16-bit Integer UNSIGNED value for a pixel

我正在尝试使用 JAVA 获取图像中像素的 16 位整数 无符号 值。 我正在使用:

int d = img.getRGB(x, y);

我得到这样的数字 -16744032,我不认为 getRGB 是正确的使用方法,而且它是有符号的。

注意:我不想将其转换为 RGB。

我想要的是: 像素的 16 位无符号整数值。

更新: 我要的不是很复杂的方法,跟颜色一点关系都没有。

我没有在 java 中处理图像的经验,但是从 java 文档中,您应该能够从方法 getRaster() 中获取光栅对象,然后使用 getPixel( x,y,int[] arr) 或 getDataElements(x,y,object outData) 可能有效。

假设图像首先是 16 位格式。否则,您需要将 RGB 值转换为 16 位。这个问题在那种情况下可能是相关的:How to convert between color models

来源: https://docs.oracle.com/javase/7/docs/api/java/awt/image/BufferedImage.html#getRaster() https://docs.oracle.com/javase/7/docs/api/java/awt/image/Raster.html