This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

Name

filter()

Examples
example pic
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(THRESHOLD);
example pic
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(GRAY);
example pic
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(INVERT);
example pic
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(POSTERIZE, 4);
example pic
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(BLUR, 6);
example pic
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(ERODE);
example pic
PImage img;
img = loadImage("apples.jpg");
image(img, 0, 0);
filter(DILATE);
example pic
PShader blur;
PImage img;

void setup() {
  size(100, 100, P2D);
  blur = loadShader("blur.glsl");
  img = loadImage("apples.jpg");
  image(img, 0, 0); 
}

void draw() {
  filter(blur); // Blurs more each time through draw()
}
Description Filters the display window using a preset filter or with a custom shader. Using a shader with filter() is much faster than without. Shaders require the P2D or P3D renderer in size().

The presets options are:

THRESHOLD
Converts the image to black and white pixels depending if they are above or below the threshold defined by the level parameter. The parameter must be between 0.0 (black) and 1.0 (white). If no level is specified, 0.5 is used.

GRAY
Converts any colors in the image to grayscale equivalents. No parameter is used.

OPAQUE
Sets the alpha channel to entirely opaque. No parameter is used.

INVERT
Sets each pixel to its inverse value. No parameter is used.

POSTERIZE
Limits each channel of the image to the number of colors specified as the parameter. The parameter can be set to values between 2 and 255, but results are most noticeable in the lower ranges.

BLUR
Executes a Guassian blur with the level parameter specifying the extent of the blurring. If no parameter is used, the blur is equivalent to Guassian blur of radius 1. Larger values increase the blur.

ERODE
Reduces the light areas. No parameter is used.

DILATE
Increases the light areas. No parameter is used.
Syntax
filter(shader)
filter(kind)
filter(kind, param)
Parameters
shader PShader: the fragment shader to apply
kind int: Either THRESHOLD, GRAY, OPAQUE, INVERT, POSTERIZE, BLUR, ERODE, or DILATE
param float: unique for each, see above
Returnsvoid
Updated on January 1, 2021 03:38:08am EST