看了網上不少VS+OpenCV環境配置的文章,管用的沒幾個,下面這篇文章包你管用:
工具:VS2008 With SP1
下載地址:自己去找吧,我是分開裝的,先裝VS2008再裝SP1補丁
OpenCV-2.3.1-win-superpack.exe
下載地址:http://www.opencv.org.cn/download/OpenCV-2.3.1-win-superpack.exe
cmake-2.8.7-win32-x86.exe
下載地址:http://www.cmake.org/files/v2.8/cmake-2.8.7-win32-x86.exe
- 解壓OpenCV-2.3.1:
運行OpenCV-2.3.1-win-superpack.exe,解壓到”C:\”根目錄下:
- 生成VS2008解決方案:
運行cmake-2.8.7-win32-x86.exe,安裝cmake-2.8.7完畢后,運行它。
出現
1) 在where is the source code:輸入” C:/opencv”
2) 在Where to build the binaries:輸入” C:/opencv/VS2008”
3) 點擊Configure,在彈出框中選擇 Visual Studio 9 2008,之后點擊 finish。
4) 出現界面里面有好多紅色選項,再次點擊 configure,完成后再點擊 generate。完成編譯
3. 完成以上步驟后,在C:\opencv\VS2008 目錄下生成 OpenCV.sln 的使用 VS2008打開。
1)在Debug下,選擇Solution Explorer里的 Solution OpenCV,點右鍵,運行"重新生成解決方案";
2)如編譯無錯誤,再選擇INSTALL項目,運行"生成解決方案"。
3)在Release下,選擇Solution Explorer里的 Solution OpenCV,點右鍵,運行"重新生成解決方案";
4) 如編譯無錯誤,再選擇INSTALL項目,運行"生成解決方案"。
4. 設置Windows環境變量
將路徑”C:\opencv\VS2008\bin\Release; C:\opencv\VS2008\bin\Debug”添加到系統的環境變量 Path 中。
5. 為 VS2008 配置 openCV 的環境
打開 VS2008,菜單 工具->選項->項目和解決方案->VC++ 目錄
1) “顯示以下內容的目錄”選擇 “包含文件”,加入目錄
C:\opencv\VS2008\install\include
C:\opencv\VS2008\install\include\opencv
2) “顯示以下內容的目錄”選擇 “庫文件”,加入目錄
C:\opencv\VS2008\lib\Release
C:\opencv\VS2008\lib\Debug
3) 關閉 VS2008.(一定要關閉一次才能正常運行)
6. 具體用到OpenCV的項目工程:
重新打開VS2008新建一個c++項目(每新建一個項目都要進行以下設置才能編譯Opencv里的函數),VS2010用回上一步所建的項目。
VS2008:在“解決方案資源管理器”窗口中,右單擊項目名,選擇“屬性”>配置屬性>鏈接器>輸入,接着在“配置”下拉框中,選擇“Debug”,在“附加依賴項”那欄點擊右邊的“編輯”按鈕,復制下面的庫文件名到上方空白處:
- opencv_calib3d231d.lib
- opencv_contrib231d.lib
- opencv_core231d.lib
- opencv_features2d231d.lib
- opencv_flann231d.lib
- opencv_gpu231d.lib
- opencv_highgui231d.lib
- opencv_imgproc231d.lib
- opencv_legacy231d.lib
- opencv_ml231d.lib
- opencv_objdetect231d.lib
- opencv_ts231d.lib
- opencv_video231d.lib
(可根據實際需要刪減)
然后,在“配置”下拉框中選擇“Release”,照上面的操作,復制下面的庫文件名到上方的空白處:
- opencv_calib3d231.lib
- opencv_contrib231.lib
- opencv_core231.lib
- opencv_features2d231.lib
- opencv_flann231.lib
- opencv_gpu231.lib
- opencv_highgui231.lib
- opencv_imgproc231.lib
- opencv_legacy231.lib
- opencv_ml231.lib
- opencv_objdetect231.lib
- opencv_ts231.lib
- opencv_video231.lib
(可根據實際需要刪減)
到此Opencv2.3.1配置完成.下面編譯運行程序。
具體代碼:
#include "stdafx.h"
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char* argv[])
{
const char* imagename = "lena.jpg";
//從文件中讀入圖像
Mat img = imread(imagename);
//如果讀入圖像失敗
if(img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
//顯示圖像
imshow("image", img);
//此函數等待按鍵,按鍵盤任意鍵就返回
waitKey();
return 0;
}