Подтвердить что ты не робот

Отрегулируйте яркость и контрастность BufferedImage в Java

Я обрабатываю кучу изображений с некоторой структурой, и все, что мне дано, это куча объектов BufferedImage. К сожалению, эти изображения очень тусклые, и я хотел бы скрасить их и немного настроить контраст.

Что-то вроде:

BufferedImage image = something.getImage();
image = new Brighten(image).brighten(0.3); // for 30%
image = new Contrast(image).contrast(0.3);
// ...

Любые идеи?

4b9b3361

Ответ 1

Это было просто, на самом деле.

RescaleOp rescaleOp = new RescaleOp(1.2f, 15, null);
rescaleOp.filter(image, image);  // Source and destination are the same.

A scaleFactor из 1.2 и offset из 15, кажется, делает изображение вокруг остановки ярче.

Yay!

Подробнее в документы для RescaleOp.