Coder Social home page Coder Social logo

filter.js's Introduction

#FILTER.js

A JavaScript Library for Image/Video Processing and Filtering using HTML5 APIs

This is a library for filtering images/video in JavaScript using HTML5 features like Canvas, WebWorkers, WebGL and SVG (in progress).

###Contents

Filter.js Filter.js Filter.js

###Live Examples

###Browser Support

firefox chrome opera ie

###Credits

Some filters code has been adapted from open source libraries (mostly flash and java, plus a couple from javascript libraries), see the comments in the code for details.

###Features

The library dependencies are:

The framework defines an Image Proxy class, which represents an Image, a Color Utilities Class and 8 generic Filter types plus various Plugins (with support for parallel processing transparently)

  1. AbstractFilter
  2. ColorMatrixFilter (analogous to the ActionScript filter)
  3. TableLookupFilter
  4. ConvolutionMatrixFilter (analogous to the ActionScript filter)
  5. DisplacementMapFilter (analogous to ActionScript filter)
  6. GeometricMapFilter
  7. MorphologicalFilter
  8. StatisticalFilter (previously called NonLinearFilter)
  9. CompositeFilter (an abstraction of a container for multiple filters)

Parallel Workers Support (support parallel procesing/filtering with filter workers in an intuitive and transparent way)

Extension by Plugins / Inline Filters

Image Blending Modes (analogous to PhotoShop blend modes)

Each generic filter is prototype but it also includes basic implementation filters like grayscale , colorize , threshold , gaussBlur , laplace , emboss , etc..

TIP: You can create your custom build of the library with the filters/plugins you choose. Each filter and plugin is independent and can be used in a mix-n-match manner, as long as the core classes are always included. Change the dependencies file(s) to include your own selection of filters and plugins for your custom build

###Todo

  • add WebGL support for various pre-built and custom Filters (in progress)
  • add SVG Filters interface support for various pre-built and custom Filters (in progress)
  • add CSS Filters interface support for various pre-built and custom Filters (in progress)
  • add support for Parallel Processing using Web Workers and/or Asynchronous Processing [DONE partially]
  • make convolutions/statistics faster [DONE partially]
  • use fixed-point arithmetic, micro-optimizations where possible [DONE partially]
  • add caching of filter parameters where applicable [DONE partially]
  • add more filters (eg split/combine/adaptive/nonlinear etc..) [DONE partially]
  • add 2d-fft routines, frequency-domain filtering
  • allow to work in Node
  • increase support/performance for Opera, IE [DONE partially]

URL Nikos Web Development
URL FILTER.js blog post
URL WorkingClassCode

filter.js's People

Contributors

hnq90 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.