如何将OpenCV包含在JavaScript项目中

How do you include OpenCV into a javascript project?

本文关键字:JavaScript 项目 包含 OpenCV      更新时间:2023-09-26

我最近使用以下指南通过npm安装了OpenCV:https://www.npmjs.com/package/opencv

我的问题很简单。如何在项目中实际使用 OpenCV 库?

在该站点上,有一个人脸检测示例,如下所示:

cv.readImage("./examples/files/mona.png", function(err, im){
  im.detectObject(cv.FACE_CASCADE, {}, function(err, faces){
    for (var i=0;i<faces.length; i++){
      var x = faces[i]
      im.ellipse(x.x + x.width/2, x.y + x.height/2, x.width/2, x.height/2);
    }
    im.save('./out.jpg');
  });
})

cv.变量是我被困住的地方。通常,每当我使用 npm 安装新软件包时,我都会将其添加到我的app.js文件中,如下所示:

angular
  .module('App', [
    'ngAnimate',
    'ngCookies',
    'ngResource',
    'ngRoute',
    'ngSanitize',
    'ngTouch',
    'ui.sortable',
    'firebase',
    'angular-toArrayFilter'
  ])

同样,在我的任何控制器中,我会将模块的名称作为参数添加到控制器中:

angular.module('App')
  .controller('LoginCtrl', function ($scope, UserAuth, $window, $firebaseArray, fireBaseRef)

似乎找不到OpenCV的依赖项名称,甚至不允许我首先使用它。到目前为止,我看过的指南都没有提到如何将其包含在您的项目中。

谢谢你的时间!

你不能在浏览器端的JavaScript项目中使用OpenCV。OpenCV是一个原生库,node-opencv允许您在服务器上使用它,但不能直接在浏览器中使用它。

node-opencv的安装说明:

在安装之前,您需要安装 OpenCV 2.3.1 或更高版本 Node-opencv.请注意,OpenCV 3.x 尚未完全受支持。

按照您的操作系统(即Mac OSX,Windows,Linux/Debian)的安装说明进行操作。最流行系统的说明可以在这里找到:https://www.npmjs.com/package/opencv。

然后,在使用"cv"变量之前,您必须需要"opencv"模块。

var cv = require('opencv');

如果收到错误,通常是依赖项问题。验证是否已正确安装节点 opencv 的所有依赖项。在我的第一次安装中,我需要

npm install buffers

npm install node-pre-gyp

根据您安装 opencv 捆绑包的位置,您可能需要显式包含 opencv 的文件路径.js

如下所示
var cv = require('/path_to_node-opencv-master/lib/opencv');

我建议阅读OpenCV文章的介绍和OpenCV网站上的文档 http://opencv.org/以了解更多信息。