Bubbly Kitty

I wrote a sketch in Processing 3 that converted the picture on the left (original) to a picture that is more “bubbly” on the right (post-process). It does this by creating a circle with a diameter of 8 pixels who’s color is determined by the average of the 16 pixels it would be covering up. The idea is the same as saving an image to a lower resolution, but the pixels are represented by circles. Code below.

PImage img;
color copy;
color value;
void setup(){
noStroke();
size(472,592);
background(150);
img = loadImage(“CuteKitty.jpg”);
for(int i = 4; i < img.width; i += 8){
for(int j = 4; j < img.height; j += 8){
value = 0;
copy = img.get(i,j);
float redValue = (red(copy)+red(value))/2;
float greenValue = (green(copy)+green(value))/2;
float blueValue = (blue(copy)+blue(value))/2;
value = color(redValue,greenValue,blueValue);

copy = img.get(i+1,j);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;
value = color(redValue,greenValue,blueValue);

copy = img.get(i+2,j);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;

copy = img.get(i+3,j);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;

copy = img.get(i,j+1);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;
value = color(redValue,greenValue,blueValue);

copy = img.get(i+1,j+1);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;

copy = img.get(i+2,j+1);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;
value = color(redValue,greenValue,blueValue);

copy = img.get(i+3,j+1);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;

copy = img.get(i,j+2);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;

copy = img.get(i+1,j+2);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;

copy = img.get(i+2,j+2);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;

copy = img.get(i+3,j+2);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;

copy = img.get(i,j+3);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;

copy = img.get(i+1,j+3);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;

copy = img.get(i+2,j+3);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;

copy = img.get(i+3,j+3);
redValue = (red(copy)+red(value))/2;
greenValue = (green(copy)+green(value))/2;
blueValue = (blue(copy)+blue(value))/2;

fill(value);
ellipse(i,j,8,8);
}
save(“BubblyKitty.jpg”);
}
}

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s