如何将OpenCV包含在javascript项目中?

时间:2016-03-21 13:43:33

标签: javascript angularjs node.js opencv npm

我最近使用以下指南通过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的依赖名称,甚至允许我首先使用它。到目前为止,我所看过的指南都没有提及如何将它包含在您的项目中。

谢谢你的时间!

2 个答案:

答案 0 :(得分:1)

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

来自node-opencv的{​​{3}}:

  

安装前需要安装OpenCV 2.3.1或更新版本   节点的OpenCV。请注意,OpenCV 3.x尚未完全支持。

答案 1 :(得分:0)

按照安装说明操作您的操作系统(即Mac OSX,Windows,Linux / Debian)。有关最受欢迎系统的说明,请访问:https://www.npmjs.com/package/opencv

然后,在使用'cv'变量之前,你必须要求'opencv'模块。

var cv = require('opencv');

如果收到错误,通常会出现依赖性问题。验证是否已正确安装node-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/上的文档以了解更多信息。