原來的opencv版本是3.0,在做實驗時發現不支持findcontours函數,一直內存報錯,問過之後發現是opencv3.0這個函數有些問題,於是改用了opencv2.4.10,未防止每次都重新學配置,決定自己寫一下。
版本:opencv2.4.10+VS2013
32位
一、opencv卸載
卸載只需要將環境變量中加的刪除,再將原來的opencv文件夾刪除即可。
二、opencv配置
1、首先點擊opencv-2.4.10.exe,extract到D:/opencv文件夾中。
2、配置環境變量
(1)在用戶變量中新建變量名 OPENCV,將opencv中build的路徑加進去D:\software\opencv\opencv\build,以後用此路徑時可以用$(OPENCV)
來代替。
(2)在系統變量的Path中加入 D:\software\opencv\opencv\build\x86\vc12\bin,其中D:\software\opencv\是安裝路徑,我用的是32位,寫X86,vs2013用vc12,若是64位則加入D:\software\opencv\opencv\build\x64\vc12\bin
(3)在Visual Studio 2013中進行配置,由於不想每次都要配置,所以用了配置文件,每次只要添加到屬性中就可以了。
新建工程,調出【屬性管理器】
右擊Debug|Win32,選擇【屬性】-【VC++目錄】-【包含目錄】加入
D:\software\opencv\opencv\build\include\opencv
D:\software\opencv\opencv\build\include
D:\software\opencv\opencv\build\include\opencv2
【庫目錄】中加入
D:\software\opencv\opencv\build\x86\vc12\lib
D:\software\opencv\opencv\build\x86\vc12\staticlib
右擊【Debug|Win32】選擇【添加新項目屬性表】命名爲opencvdebug
右擊opencvdebug.props選擇【屬性】-【鏈接器】-【輸入】-【附加依賴性】
加入
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_ml2410d.lib
opencv_nonfree2410d.lib
opencv_objdetect2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_videostab2410d.lib
Debug配置完成
Release方法如上,只是將【附加依賴項】改爲
opencv_calib3d2410.lib
opencv_contrib2410.lib
opencv_core2410.lib
opencv_features2d2410.lib
opencv_flann2410.lib
opencv_gpu2410.lib
opencv_highgui2410.lib
opencv_imgproc2410.lib
opencv_legacy2410.lib
opencv_ml2410.lib
opencv_nonfree2410.lib
opencv_objdetect2410.lib
opencv_ocl2410.lib
opencv_photo2410.lib
opencv_stitching2410.lib
opencv_superres2410.lib
opencv_ts2410.lib
opencv_video2410.lib
opencv_videostab2410.lib
最後在工程中會生成兩個配置文件,下次只需要將其依此添加到Debug|Win32和Reldase|Win32中就可以了,不需要重新配置了。
注
1、opencv2.4.10的程序開頭爲
#define _CRT_SECURE_NO_DEPRECATE//屏蔽掉安全檢查
#include<iostream>
#include<opencv2/opencv.hpp>
2、刪除"附加依賴項"裏面的"繼承的值"中存在之前的庫。
解決方法:(1)視圖——其他窗口——屬性管理器。
(2)在“屬性管理器”頁面中找到Debug|Win32——Miscrosoft.cpp.Win32.user——屬性
(3)附加依賴項——編輯
這裏就可以把繼承的值刪除了。