FILTER.js

foo123活跃维护

纯 JavaScript 实现的图像与视频处理、计算机视觉库,浏览器和 Node.js 都能跑,提供边缘检测、特征检测、形状识别等类似 OpenCV 的能力。

Video and Image Processing and Computer Vision Library similar to OpenCV in pure JavaScript (Browser and Nodejs)

1.13.0发布于 2025-03-17 09:25 UTC401star49fork同步于 2026-11-10 12:00 UTC

怎么上手

README 里没有找到可直接复制的安装命令

README 里没有找到可直接复制的安装命令,请到 README 或官方文档查看安装方式。

硬件要求

README 没有说明硬件要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

5 个版本1.13.0
  1. 1.13.0Filter.js 1.13.0最新正式版2025-03-17 · 2025-03-17 09:25 UTC

    Tagging Filter.js 1.13.0

  2. 1.12.0Filter.js 1.12.02024-12-05 · 2024-12-05 09:12 UTC
    查看更新说明

    Tagging Filter.js 1.12.0

  3. 1.11.0Filter.js 1.11.02024-10-11 · 2024-10-11 15:35 UTC
    查看更新说明

    Tagging Filter.js 1.11.0

  4. 1.10.0Filter.js 1.10.02024-01-20 · 2024-01-20 05:05 UTC
    查看更新说明

    Tagging Filter.js 1.10.0

  5. 1.9.1Filter.js 1.9.12023-11-20 · 2023-11-20 07:23 UTC
    查看更新说明

    Tagging Filter.js 1.9.1

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    FILTER.js

    A pure JavaScript Library for Image/Video Processing, Filtering and Computer Vision

    This is a library for processing images/video in pure JavaScript using HTML5 features like Canvas, Web Workers, WebAssembly and WebGL or alternatives in Node.js (eg CanvasLite, node-canvas, node-gl, node processes).

    version 1.14.0 in progress (308 kB minified)

    Contents

    Filter.js Filter.js Filter.js

    Live Examples

    Browser Support

    firefox chrome opera ie nodejs

    firefox ● chrome ● opera ● ie ● nodejs

    Credits

    Some filters code has been adapted from open source libraries and/or public domain code, see comments in source code for details.

    See also the references for details on various algorithms that the source code is based on, or has been inspired from.

    Features

    The framework defines an Image class, which represents a proxy for an Image, a number of utilities like Color class and 14 generic Filter types plus various Plugins and Extra filters (with support for (low-level) CPU and GPU parallel processing transparently both for browser and nodejs)

    1. AbstractFilter
    2. ColorTableFilter
    3. ColorMatrixFilter (analogous to the ActionScript filter)
    4. ColorMapFilter
    5. AffineMatrixFilter
    6. GeometricMapFilter
    7. DisplacementMapFilter (analogous to ActionScript filter)
    8. ConvolutionMatrixFilter (analogous to the ActionScript filter)
    9. MorphologicalFilter
    10. StatisticalFilter
    11. BlendFilter
    12. DimensionFilter
    13. CompositeFilter (an abstraction of a container for multiple filters)
    14. InlineFilter (create inline filters dynamically at run-time using your custom functions)
    15. FrequencyFilter (frequency domain filters)
    16. Extra Filters (extra filters which cover a wider range of functionality and use cases)

    Each of the generic filters is prototype but it also includes a number of implementation filters like grayscale , colorize , threshold , gaussBlur , laplace , emboss , gamma, twirl and so on.. (depending on type of filter)

    CPU Parallel Processing for browser and nodejs: support CPU parallel procesing with filter Workers in an intuitive and transparent way, see examples.

    GPU Parallel Processing for browser and nodejs: support GPU/WebGL parallel procesing with GLSL filters in an intuitive and transparent way, see examples.

    Mix CPU/GPU filters transparently

    Fast CPU Assembly Code for browser and nodejs: support assembly coded filters, see examples.

    Map/Reduce functionality

    Image Blending Modes (analogous to SVG blend modes)

    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 to include your own selection of filters and plugins for your custom build

    Todo

    • make WASM versions of filters where possible [DONE]
    • make GLSL versions of filters where possible [DONE]
    • make convolutions/statistics faster [DONE PARTIALLY]
    • full support for nodejs [DONE]
    • support for Parallel Processing using Web Workers and/or Asynchronous Processing [DONE]
    • use fixed-point arithmetic, micro-optimizations where possible [DONE]
    • cache filter parameters where applicable [DONE]
    • increase performance for (older) Opera, IE [DONE]

    see also:

    • Abacus Computer Algebra and Symbolic Computation System for Combinatorics and Algebraic Number Theory for JavaScript and Python
    • SciLite Scientific Computing Environment similar to Octave/Matlab/SciPy in pure JavaScript
    • TensorView view array data as multidimensional tensors of various shapes efficiently
    • FILTER.js video and image processing and computer vision Library in pure JavaScript (browser and nodejs)
    • HAAR.js image feature detection based on Haar Cascades in JavaScript (Viola-Jones-Lienhart et al Algorithm)
    • HAARPHP image feature detection based on Haar Cascades in PHP (Viola-Jones-Lienhart et al Algorithm)
    • MOD3 3D Modifier Library in JavaScript
    • Geometrize Computational Geometry and Rendering Library for JavaScript
    • Fuzzion a library of fuzzy / approximate string metrics for PHP, JavaScript, Python
    • Matchy a library of string matching algorithms for PHP, JavaScript, Python
    • Regex Analyzer/Composer Regular Expression Analyzer and Composer for PHP, JavaScript, Python
    • PatternMatchingAlgorithms library of Pattern Matching Algorithms in JavaScript using Matchy
    • SortingAlgorithms library of Sorting Algorithms in JavaScript
    • Xpresion a simple and flexible eXpression parser engine (with custom functions and variables support), based on GrammarTemplate, for PHP, JavaScript, Python
    • GrammarTemplate grammar-based templating for PHP, JavaScript, Python
    • codemirror-grammar transform a formal grammar in JSON format into a syntax-highlight parser for CodeMirror editor
    • ace-grammar transform a formal grammar in JSON format into a syntax-highlight parser for ACE editor
    • prism-grammar transform a formal grammar in JSON format into a syntax-highlighter for Prism code highlighter
    • highlightjs-grammar transform a formal grammar in JSON format into a syntax-highlight mode for Highlight.js code highlighter
    • syntaxhighlighter-grammar transform a formal grammar in JSON format to a highlight brush for SyntaxHighlighter code highlighter