我使用RescaleOp
来增亮图像,我的问题是,如果我使用黑色(0,0,0)和白色(255,255,255),它们会完全相同。增亮BufferedImage中的黑色像素
我可以猜出为什么,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(...);
由于当前的答案,但我不明白如何将它们应用到我的问题。