gpt4 book ai didi

java - Java 中的灰度(每像素 8 位)图像像素操作

转载 作者:行者123 更新时间:2023-12-01 05:46:54 25 4
gpt4 key购买 nike

我听说颜色深度为 8 位灰度图像中的数据存储在每个像素的一个字节的前 7 位中,并且最后一点保持完好!那么我们可以使用所有像素的最后一位来存储一些信息,是吗?

如果是这样,如何以单个像素来解释数据?我的意思是没有红、蓝、绿!那么这些位是什么意思?

如何计算图像所有像素的平均值?我更喜欢使用纯 java 类,而不是 JAI 或其他第三方。

更新1

BufferedImage image = ...; // loading image
image.getRGB(i, j);

getRGB 方法总是返回一个大于 1 个字节的 int!我该怎么办?

最佳答案

我的理解是,8 位颜色深度意味着每个像素有 8 位(即一个字节),并且红色、绿色和蓝色都是这个值。例如灰度=192 表示红色=192,绿色=192,蓝色=192。没有 7 位加上另外 1 位。

据我所知,您可以使用正常平均值。不过,我会使用 long 作为总和,并确保每个字节都是无符号的,即 `b & 0xff

编辑:如果灰度为 128(或 0x80),我预计 RGB 为 128,128,128 或 0x808080。

关于java - Java 中的灰度(每像素 8 位)图像像素操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5706232/

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