How to change the contrast and brightness of an image stored as pixel values

21,896

My suggestion would be to use the built-in methods of Java to adjust the brightness and contrast, rather than trying to adjust the pixel values yourself. It seems pretty easy by doing something like this...

float brightenFactor = 1.2f

PlanarImage img=JAI.create("fileload","C:\\aimages\\blue_water.jpg");
BufferedImage image = img.getAsBufferedImage();

RescaleOp op = new RescaleOp(brightenFactor, 0, null);
image = op.filter(image, image);

The float number is a percentage of the brightness. In my example it would increase the brightness to 120% of the existing value (ie. 20% brighter than the original image)

See this link for a similar question... Adjust brightness and contrast of BufferedImage in Java

See this link for an example application... http://www.java2s.com/Code/Java/Advanced-Graphics/BrightnessIncreaseDemo.htm

Share:
21,896

Related videos on Youtube

Jay
Author by

Jay

Updated on April 12, 2020

Comments

  • Jay
    Jay about 4 years

    I have an image that is stored as an array of pixel values. I want to be able to apply a brightness or contrast filter to this image. Is there any simple way, or algorithm, that I can use to achieve this.

    Here is my code...

       PlanarImage img=JAI.create("fileload","C:\\aimages\\blue_water.jpg");
       BufferedImage image = img.getAsBufferedImage();
    
       int w = image.getWidth();
       int h = image.getHeight();
       int k = 0;
    
       int[] sbins = new int[256];
       int[] pixel = new int[3];
    
       Double d = 0.0;
       Double d1;
       for (int x = 0; x < bi.getWidth(); x++) {
           for (int y = 0; y < bi.getHeight(); y++) {
               pixel = bi.getRaster().getPixel(x, y, new int[3]);
               k = (int) ((0.2125 * pixel[0]) + (0.7154 * pixel[1]) + (0.072 * pixel[2]));
               sbins[k]++;
           }
       }
    
    • Hot Licks
      Hot Licks about 12 years
      To adjust contrast you multiply the pixel values by some constant. To adjust brightness you add some constant to the values.
  • Siva
    Siva almost 7 years
    Can we increase the contrast using the rescaleOP