Canvas image filter library
Adds/Subtracts images from each other
Blends two images together, with optional weighting
Simple implementation of multiply, where white is shown and black is not
Multiplies an image with a greyscale
Shows the contours in a height map ####Normal Flip Will flip the x/y axis values, or swap the x/y axis with each other
Generates a normal based on a height map
Edits the intensity of a normal map
####Brickulate Will draw a grid pattern over an image, to turn it into bricks/tiles
Will detect differences in a scene, based on the first shot (not working)
Adds a ghosting/onion skin effect to a video
Scrambles up the image like a puzzle
Adds a small colour bleed effect to an image
Blurs an image
Removes colour from an image
Cleans up outlying pixels in a binary image
Blurs an image, and then adds this to the original, to create a glowing effect
Applies Hanover Bars or Scan lines over an image
Allows editing an images hue/saturation/lightness values ####Invert Inverts an image's colour
Adds variable noise to an image, can be monochromatic
Pixelates the image to a fixed size per pixel
Reduces an image into a fixed number of colours
Applies a sharpening mask to an image, to enhance edges/detail
Simple neighbouring blur function
Detects the edges in a scene
Detects any motion between a series of frames
Detects skin in a scene. Relies on correct lighting.
A filter that fills the canvas with Perlin Noise, with an RGB input for colour
Will fill a canvas with a blank colour, based on HSV input
Will fill a canvas with a blank colour, based on RGB input
Thresholds over changes in gradient in an image, resulting in edge detection
Colour quantisation over median and quartile pixel values
Thresholds the image based on a calculated or given pixel value
Translates the RGB channels of an image individually
Flips the image in horizontal or vertical axis
Rotates an image in 90 degree increments. Will crop a rectangular image to be square
Will tile an image so it's edges all line up
Will move an image in horizontal or vertical axis based on a percentage
Translates the pixels of an image according to a mathematical function
####Skeletiser Will draw the skeleton of the image ####Histogram Will output a visual histogram of an image, or just the histogram values ####Bloat/Erode Will expand/reduce blobs in a binary image ####Crackulate Will draw procedural cracks over a texture ####Laplace Edge Implement edge detection with a faster algorithm ####Sobel Edge Implement edge detection with another more complex algorithm ####Custom kernel Allow a custom 3x3 kernel to be used over an image. ####Shot Detector Will detect scene changes in a video ####Emboss Embosses an image ####Sepia Applies a sepia effect to an image ####Target finder Highlights a particular point of interest in an image ####Screen burn Adds screen burn effect to a video, similar to ghosting ####Dot crawl Adds a dot crawl effect
Make the difference detector work more generally
Add WebGL function to each filter to improve performance
Add a flag to each filter to only process the image if the input has changed, controls have changed or is forced to.
Create a renderer object that holds a canvas and it's filters for ease of use and improved functionality
Look into HSV for skin detection