$ npm install opencv ? 你试试?! 在windows环境下,使用node.js调用opencv攻略
博主之前写过一篇文章《html5与EmguCV前后端实现——人脸识别篇》,叙述的是opencv和C#的故事。最近在公司服务器上更新了一套nodejs环境,早就听闻npm上有opencv模块,便欲部署之。然而opencv的部署似乎从来都不会那么顺利......
找模块上https://www.npmjs.com/ (在大天朝请自行加点翻墙技能!)搜索opencv,一眼就知道该用peter桑的模块了...
然后点进去,似乎也很美好!
然而,你要是windows的操作系统,你试试吧。
$ npm install opencv
我在寻找解决方案的时候,发现了模块作者的一个留言。。。
大致是说,作者写这个模块的时候就没考虑windows,然后如果有同学能成功跑起来,那么他很乐意添加一些兼容windows的东西。。。。。。
万幸的是,还是有很多机智的小伙伴的去帮助Peter大大的。那么吐槽结束,开始部署环境。
1) 首先,请确认你的node.js版本能跑peter大大的模块(可以去github查,或者直接装个最新的)
2) 安装正确版本的opencv,并且配置opencv环境变量。nodejs的opencv模块目前支持的是2.4.9版本的opencv。要是你看到这篇文章是很久以后,可以去github上通过.pc文件确认opencv的版本。
3) 部署pkg-config
1. 下载解压下图三个文件,到这里可以下载。在对应win64/win86文件夹里的dependencies下面找。(如果被墙了,同学们就自己百度这些文件吧,pkg-config的安装能百度到)
2.配置环境变量,分别把三个文件夹的bin文件夹加入环境变量就好了
3.为.pc文件配置环境变量。新建一个PKG_CONFIG_PATH的环境变量指向.pc文件所在文件夹。这里的.pc文件就是前面说到过的,nodejs-opencv模块里面有,稍作修改就能用了,x86/x64只要一个文件就好了。
4)然后需要安装node gyp模块 这步很重要也很麻烦- -。。。你其实还是需要装python和visual studio......
1. 安装python2.7.3 (和opencv一样,装最新的3.0就玩不起来了),配置python环境变量。
2. 安装visual studio 2013 (express就可以了),安装过程比较慢。
3. win7 64位系统要装个补丁,以上在gyp的github上面有说明,还是蛮详细的。
4. npm install -g node-gyp
5)从github下载nodejs-opencv整个文件夹。
6)nodejs 命令
npm install
7) npm install opencv 还是不行的- -,好像还是只能编译github的上作者的文件,要是哪位大神知道解决方案,请留言,谢谢啦。
npm install 之后其实就可以用啦,人脸识别的什么都不是问题。这里其实就是利用了nodejs可以调用c/c++文件的特性,只是在windows上编译还是有些小复杂。
博主小站 http://jsonic.net/
转发请注明出处:http://www.cnblogs.com/Arthus/p/4791237.html
随机推荐
- python模块之bsddb: bdb高性能嵌入式数据库 1.基础知识
转自:http://blog.csdn.net/zhaoweikid/article/details/1665741 bsddb模块是用来操作bdb的模块,bdb是著名的Berkeley DB,它的性 ...
- SWIFT国际资金清算系统
SWIFT又称:“环球同业银行金融电讯协会”,是国际银行同业间的国际合作组织,成立于一九七三年,目前全球大多数国家大多数银行已使用SWIFT系统.SWIFT的使用,使银行的结算提供了安全.可靠.快捷. ...
- JSP学习笔记(二):Tomcat服务器的安装及配置
一.Tomcat的下载及安装. 前往Tomcat官网下载安装包或者免安装压缩包.链接http://tomcat.apache.org/ 这里,我选择的是Tomcat8.0,而不是最新的Tomcat9. ...
- Django 安装MySQLdb模块
首先装 mysql的时候 我用的是 apt-get install mysql-client-core-5.1 (当时以为core的牛逼) 其实直接安mysql-client-5.1就行了 问题 ...
- url参数中有+、空格、=、%、&、#等特殊符号的处理
url参数中有+.空格.=.%.&.#等特殊符号的问题解决? 解决办法: 将这些字符转化成服务器可以识别的字符,对应关系如下: URL字符转义 + URL 中+号表示空格 %2B 空格 URL ...
- Ubuntu下php的一些配置问题
1.php.ini的路径: phpinfo()里 Loaded Configuration File:/etc/php5/fpm/php.ini 要修改这个 在/etc/php5/fpm/cgi里也有 ...
- ajax_get方式
test_ajax_get.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " ...
- 退出应用 关闭多个Activity
Activity3 public class Activity3 extends ListActivity { protected void onCreate(Bundle savedInst ...
- 开发部署一个简单的Servlet
Servlet是一个执行在服务器端的Java Class文件,载入前必须先将Servlet程序代码编译成.class文件,然后将此class文件放在servlet Engline路径下.Servlet ...
- 黑马程序员-out和ref
C# 方法参数关键字:ref.out 当希望方法返回多个值时,声明 out方法很有用.使用 out参数的方法仍然可以将变量用作返回类型(请参见 return),但它还可以将一个或多个对象作为 out参 ...