OpenCV is the de-facto standard C/C++ library for image and vision processing
extensively used by computer vision community to create desktop and embedded applications.
Existing OpenCV language bindings make it possible to use the library in languages other
than the native C and C++, e.g. Python and Java. OpenCV.js extends the OpenCV language binding by
providing a JavaScript interface. It allows emerging web applications with multimedia processing
to benefit from the wide variey of vision functions available in OpenCV.
The goal of this project is to extend and improve performance of OpenCV.js. It has several thrusts:
High performance: allow OpenCV.js to be used in demanding applications, e.g. video processing. The
OpenCV.js is based on ASM.js specification and near native performance is obtained on most modern browsers.
We also added support for SIMD.js to take advatage of processor's vector (SIMD) processing capabilities.
Cover a large subset of OpenCV. Currently, more than 50 classes and 800 functions from libraries including core, image processing, vidoe processing, image codecs, machine learning are already supported in our version of OpenCV.js.
API Correspondence: We aimed to provide an API close to originial OpenCV API to make
it easier to write/port applications.
Compare the two code snippets of the erode function in C++ and the equivalent OpenCV.js implementation.
OpenCV.js is publicly available at our github repository
here
OpenCV.js has been released as part of the OpenCV library!!! See documentation and tutorials at https://docs.opencv.org/master Also available on NPM: # npm -i opencv.js
This project is supported by Intel Corp.