Processors

About wasmVision processors.

wasmVision processing modules are WebAssembly guest modules that support the wasmCV interface.

Processors can filter images, analyze them, and modify them using traditional computer vision algorithms.

Processors can also use deep neural networks and other machine learning algorithms, and can even download the models they need automatically.

See the Processors list for pre-compiled processors you can try out right away.

Processors can be written in Go, Rust, or the C programming language.

How processors work

flowchart TD
    subgraph engine
        Runtime[WASM Runtime]
        Runtime<-->OpenCV
        subgraph platform
            Logging
            Config
        end
        Runtime<-->platform
        Runtime<-->Models
        OpenCV<-->Models
    end
    subgraph processors
        Runtime-- input frame -->processor.wasm
        processor.wasm<--wasmCV function calls-->Runtime
        processor.wasm-- output frame -->Runtime
        processor.wasm<--wasmVision platform function calls (logging, config, ...)-->platform
    end

wasmCV

wasmVision processors call OpenCV functions implemented by the wasmVision engine to obtain information or perform operations on image frames. To do this, processors use the wasmCV bindings for the programming language being use to create the processor.

Full documentation of the computer vision functions supported by the wasmCV interface definitions is here:

https://wasmcv.org/docs/0.8.1/

The repository with the wasmCV interface and bindings can be found here:

https://github.com/wasmvision/wasmcv

wasmVision Platform

In addition, the wasmVision engine has functions that are part of the platform itself. For example, processors need logging, the ability to load configuration data at runtime, and other capabilities. The repository with the wasmVision platform interfaces is here:

https://github.com/wasmvision/wasmvision-sdk

Models

Machine learning models for computer vision that can be used by Processors. See the Models list for more information.