0

I am doing a school assignment in which I need to create a circular gradient fog filter. I did some research on how to do blur an image and founf that I need to take the color value of the pixels around the current pixel and average them to set the new color for the blurred image. So far, I am just focusing on the blurring aspect, and I have this code:

public void circularGradientBlur()
{
      Pixel regularPixel = null;
      Pixel L_regularPixel = null;
      Pixel R_regularPixel = null;
      Pixel T_regularPixel = null;
      Pixel B_regularPixel = null;
      Pixel blurredPixel = null;
      Pixel pixels[][] = this.getPixels2D();
      for (int row = 2; row < pixels.length; row++)
      {
         for (int col = 2; col < pixels[0].length - 1; col++)
         {
            regularPixel = pixels[row][col];
            if (row != 0 && col != 0 && row != 498 && col != 498)
            {
               L_regularPixel = pixels[row - 1][col];
               R_regularPixel = pixels[row + 1][col];
               T_regularPixel = pixels[row][col - 1];
               B_regularPixel = pixels[row][col + 1];
               blurredPixel.setRed((L_regularPixel.getRed() + R_regularPixel.getRed() + T_regularPixel.getRed() + B_regularPixel.getRed()) / 4);
               blurredPixel.setGreen((L_regularPixel.getGreen() + R_regularPixel.getGreen() + T_regularPixel.getGreen() + B_regularPixel.getGreen()) / 4);
               blurredPixel.setBlue((L_regularPixel.getBlue() + R_regularPixel.getBlue() + T_regularPixel.getBlue() + B_regularPixel.getBlue()) / 4);               
            }
         }
      }   
   }

When I try use this code, I get a NullPointerException on the lines where I set the new colors- blurredPixel.setRed(), blurredPixel.setGreen(), blurredPixel.setBlue(). This error is confusing me as I have other methods that have similar code and don't throw this error. I would appreciate any help that I can get!

1 Answers1

0

You have to create an instance of the blurredPixel. it will always be null if you call the setters.

  • Add code like this `blurredPixel` add some example with you explanation. – itzmukeshy7 Mar 18 '16 at 14:02
  • `blurredPixel = new Pixel();` and then do the setters. else you try to do something with something that doesnt exist. BOOM NullPointerException. – RalleYTN Mar 18 '16 at 14:12