私はRescaleOp
画像を明るくするために使用していますが、私の問題は、黒 (0,0,0) と白 (255,255,255) を使用すると、まったく同じに戻ることです。
理由は推測できますが、0(黒の RGB 値) x 1.3 (明るさ係数) = 0 であり、白のピクセルは 255 を超えることはできないため、同じままであり、白のピクセルが同じままであることに満足しています。
一方、画像を暗くすると、白いピクセルが暗くなり、255(白い RGB 値) * .8 (明るさ係数) =/= 255 となり、黒いピクセルは 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(...);
現在の回答に感謝しますが、それらを私の問題に適用する方法がわかりません。