Quantcast
Channel: Library Questions - Processing 2.x and 3.x Forum
Viewing all articles
Browse latest Browse all 2896

Blur logic but i don't think its working );

$
0
0
            import processing.video.*;

            Capture video;
            PImage frog;
            public static final int[][] mask = {{1, 1, 1},
                                                   {1, 1, 1},
                                                   {1, 1, 1} };
            void setup()
            {
            size(640,480);
            video = new Capture(this,640,480);
            video.start();
            frog = loadImage("frog.jpg");

            }

            void captureEvent(Capture video){

              video.read();
            }


            void draw()
            {

              loadPixels();
              video.loadPixels();
              frog.loadPixels();
              for(int x=1;x+1<video.width;x++)
              {
               for(int y=1;y+1<video.height;y++)
               {
                 int loc  =  x+y*video.width;



                 color value  = applyBlur(video,x,y,mask);

                 pixels[loc] = value;


               }
              }
              updatePixels();
              }


              color applyBlur(Capture video,int x,int y,int[][] mask)
              {
                int red=0,green=0,blue=0;
                for(int j=-1;j<=1;j++)
                {
                 for(int k=-1;k<=1;k++)
                 {

                    red  += mask[1+j][1+k]*(red(video.get(x+k,y+j)));
                    green +=mask[1+j][1+k]*(green(video.get(x+k,y+j)));
                    blue  += mask[1+j][1+k]*(blue(video.get(x+k,y+j)));
                 }
                }
                   red = red/findSum(mask);
                   green = green/findSum(mask);
                   blue = blue/findSum(mask);

                   color value  = color(red,green,blue);
                   return value;

              }

              int  findSum(int[][] mask)
              {
                int sum=0;
                for(int y=0;y<mask.length;y++)
                {
                   for(int x=0;x<mask[y].length;x++)
                   {
                     sum += mask[y][x];
                   }
                }
                  return sum;

              }

Viewing all articles
Browse latest Browse all 2896

Trending Articles