gpt4 book ai didi

java - 使 BufferedImage 中的黑色像素变亮

转载 作者:行者123 更新时间:2023-12-04 05:30:49 26 4
gpt4 key购买 nike

我正在使用 RescaleOp为了使我的图像变亮,我的问题是,如果我使用黑色(0,0,0)和白色(255,255,255),它们会完全相同。

我可以猜测为什么,0(黑色 RGB 值)x 1.3(亮度因子)= 0,并且白色像素不能高于 255,因此它们保持不变,我对白色像素保持不变感到满意。

另一方面,如果我使图像变暗,我会得到想要的结果,因为白色像素变暗,255(白色 RGB 值)* .8(亮度因子)=/= 255,黑色像素不能低于0 所以它们保持不变。

如何使黑色像素变亮,就像使用 BufferedImageOp 使白色像素变暗一样?

这是重新缩放操作

        float scale = 1.3f;//This is the aformentioned "Brightness Factor"
RescaleOp op = new RescaleOp(new float[] {scale,scale,scale, 1}, new float[4], null);
BufferedImage brightImage = op.filter(...);

感谢您提供当前的答案,但我不知道如何将它们应用于我的问题。

最佳答案

你将不得不从最大值开始。亮度因子代表什么并不明显,因此您可能需要在这里进行一些试错研究。一种方法可能是:

int newValue = (int) (255 - (255 / 1.3));

关于java - 使 BufferedImage 中的黑色像素变亮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12661867/

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