博主之前写过一篇文章《html5与EmguCV前后端实现——人脸识别篇》,叙述的是opencv和C#的故事。最近在公司服务器上更新了一套nodejs环境,早就听闻npm上有opencv模块,便欲部署之。然而opencv的部署似乎从来都不会那么顺利......
找模块上https://www.npmjs.com/ (在大天朝请自行加点FQ技能!)搜索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