我有一个 TYPE_BYTE_GRAY 类型的 BufferedImage,我需要获取 x、y 处的像素值。我知道我不能使用 getRGB,因为它会返回错误的颜色模型,那么我该怎么做呢?非常感谢!
最佳答案
通过调用 getData()
方法从 BufferedImage
获取 java.awt.image.Raster
。
然后使用
int getSample(int x, int y, int b)
在接收到的对象上,其中 b 是颜色 channel (其中每种颜色由 8 位表示)。
对于灰度
b = 0.
对于RGB图像
b = 0 ==>> R channel,
b = 1 ==>> G channel,
b = 2 ==>> B channel.
关于java - 如何获取灰度图像中的像素值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8216153/