博主之前寫過一篇文章《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/