本文介绍: OpenCV.js 是 OpenCV 函数的端口,将 C++ 代码编译为 JavaScript`。`OpenCV 使用 Emscripten 将 C++ 函数编译为 Asm.js 或 WebAssembly 目标,在本节中,我们将编写一个非常简单的应用,将图像加载到 HTML img 标签中,转换图像色彩空间并在 canvas 元素中绘制。
0. 前言
本节介绍如何使用 JavaScript
通过 OpenCV
开发计算机视觉算法。在 OpenCV.js
之前,如果想要在 Web
上执行一些计算机视觉任务,必须在服务器使用 C++
进行开发,但在 OpenCV.js
中,使用 Web
浏览器的客户端拥有了直接使用计算机视觉应用的可能性。在本节中,我们将编写一个非常简单的应用,将图像加载到 HTML img
标签中,转换图像色彩空间并在 canvas
元素中绘制。
1. OpenCV.js 简介
OpenCV.js
是 OpenCV
函数的端口,将 C++
代码编译为 JavaScript
。OpenCV
使用 Emscripten
将 C++
函数编译为 Asm.js
或 WebAssembly
目标
WebAssembly
针对速度进行了高度优化,并实现了速度接近本机的代码。接下来,我们构建一个简单的网页结构,通过一个简单的按钮,可以将图像加载到用作输入图像的 img
元素中。读取 img
元素内容,可以将其加载到 cv::Mat
中并应用 OpenCV
可以提供的所有计算机视觉函数。在示例代码中,我们将彩色图像转换为灰度图像。OpenCV.js
修改了 imshow
函数,允许我们在 canvas
元素而不是新窗口中显示 cv::Mat
,使我们能够与网页进行交互。
2. 网页编写
在使用 OpenCV.js
之前,我们需要编写一个网页作为用户界面。使用 img
、canvas
和 button
元素创建一个 HTML
页面:
3. 调用 OpenCV.js 库
(1) 在网页中加载 OpenCV JavaScript
库:
4. 完整代码
相关链接
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。