人臉識別(VS2015+opencv3.2的配置)
初學人臉識別,感覺安裝也是一個很大的麻煩。
寫在這裡記錄一下吧
一:先安裝好我們需要的軟體
首先安裝Vs2015,在官網或者csdn搜一下應該找的到。
安裝步驟沒有太多講究。
點選exe檔案,我選擇的是預設安裝,你也可以自定義安裝。
然後在opencv官網安裝opencv3.2
然後根據自己所需要的用處選擇,我選的是windows
然後就是下載安裝包。
解壓到你想解壓的地方就可以了,opencv就是一些檔案。
這裡還有一個步驟就是用cmake編譯出x86的檔案,opencv預設是有x64位的,所以這個不用考慮。
但是我弄了很久都沒有弄出來。所以是直接拿著別人編譯好的x86檔案放到自己的opencv/bulid檔案下,等以後有空再去琢磨看看吧。作為初學者還是隻能先搬搬
這樣我們就有了x64和x86
第二步:配置環境變數
軟體都安裝好了後,就是環境變數的配置了。
這裡開啟環境變數:依舊是在系統變數的Path裡面新增如下:
D:\opencv3.2\opencv\build\x64\vc14\bin;
D:\opencv3.2\opencv\build\x86\vc14\bin;
opencv3.2的環境變數:這裡D:\opencv3.2是我存放opencv的安裝路徑
第三步:新增
接下來就是在Vs2015中新增依賴項了
開啟Vs2015-》新建一個專案-》如圖
OK瞭然後在標頭檔案->右鍵-》新增-》新建項
接下來就是重點了
主要分三塊
備註:我安裝opencv的目錄就是D:/opencv3.2
包含目錄主要填的是
D:\opencv3.2\opencv\build\include\opencv2
D:\opencv3.2\opencv\build\include\opencv
D:\opencv3.2\opencv\build\include
庫目錄就是
D:\opencv3.2\opencv\build\x64\vc14\lib
附加依賴項:對於x64位只需要新增
opencv_world320.lib
opencv_world320d.lib
同樣的道理對於win32也就是x86上述是一樣的設定,不一樣的就是
附加依賴項
opencv_calib3d320d.lib
opencv_core320d.lib
opencv_world320.lib
opencv_world320d.lib
opencv_features2d320d.lib
opencv_flann320d.lib
opencv_highgui320d.lib
opencv_imgcodecs320d.lib
opencv_imgproc320d.lib
opencv_ml320d.lib
opencv_objdetect320d.lib
opencv_photo320d.lib
opencv_shape320d.lib
opencv_stitching320d.lib
opencv_superres320d.lib
opencv_video320d.lib
opencv_videoio320d.lib
opencv_videostab320d.lib
opencv_calib3d320.lib
opencv_core320.lib
opencv_features2d320.lib
opencv_flann320.lib
opencv_highgui320.lib
opencv_imgcodecs320.lib
opencv_imgproc320.lib
opencv_ml320.lib
opencv_objdetect320.lib
opencv_photo320.lib
opencv_shape320.lib
opencv_stitching320.lib
opencv_superres320.lib
opencv_video320.lib
opencv_videoio320.lib
opencv_videostab320.lib
自此,配置就完成了。我們隨便寫一個程式來測試一下吧。
#include<cv.h>
#include<opencv2\highgui\highgui.hpp>
using namespace cv; //下面的所有cv相關型別不用加上字首了
int main(int argc, char* argv[])
{
Mat img = imread("2.jpg"); //宣告Mat變數並調入lena的照片
if (!img.data) //判斷圖片調入是否成功
return -1; //調入圖片失敗則退出
//建立視窗,並確定其為大小不可變型別視窗
namedWindow("loveLena", CV_WINDOW_AUTOSIZE);
//顯示圖片。如果你不介意視窗大小可變,可以直接註釋掉上一句。因為imshow可以直接建立視窗
imshow("loveLena", img);
waitKey(); //等待按鍵
return 0;
}
執行結果如下: