opencv.js编译及Electron适配

opencv.js编译及Electron适配

1、前言

Web是最普及的开放计算平台。 通过在每个浏览器中实现HTML5标准,Web应用程序能够使用HTML5视频标签呈现在线视频,通过WebRTC API捕获网络摄像头视频以及通过canvas API访问视频帧的每个像素。拥有大量可用的多媒体内容,Web开发人员需要使用JavaScript的各种图像和视觉处理算法来构建创新的应用程序。 对于Web上的新兴应用程序(例如Web虚拟现实(WebVR)和增强现实(WebAR)),此要求甚至更为重要。 所有这些用例都要求在网络上高效实现计算密集型视觉内核。

Emscripten是LLVM到JavaScript的编译器。它需要LLVM位代码-可以使用clang从C / C ++生成,并将其编译为可以在Web浏览器中直接执行的asm.js或WebAssembly。Asm.js是JavaScript的高度可优化的低级子集。 Asm.js可以在JavaScript引擎中提前进行编译和优化,从而提供接近于本地的执行速度。 WebAssembly是一种新的可移植的,节省大小和加载时间的二进制格式,适合于编译到Web。 WebAssembly旨在以本机速度执行。 W3C当前正在将WebAssembly设计为开放标准。

OpenCV.js是针对Web平台的OpenCV功能的选定子集的JavaScript绑定。 它使具有多媒体处理功能的新兴Web应用程序可以从OpenCV中可用的多种视觉功能中受益。 OpenCV.js利用Emscripten将OpenCV函数编译为asm.js或WebAssembly目标,并为Web应用程序提供了访问它们的JavaScript API。 该库的未来版本将利用Web上可用的加速API,例如SIMD和多线程执行。

OpenCV.js最初是由加利

猜你喜欢

转载自blog.csdn.net/wujuxKkoolerter/article/details/115212479
今日推荐