Win7+OpenCV 2.4.13+Visual Studio 2015一勞永逸的配置

歡迎到 我的博客 查看更詳細的內容

本文所涉及的所有D:\OpenCV2413\爲筆者的OpenCV安裝目錄,請修改爲你自己的安裝目錄

首先從官網下載OpenCV2.4.13安裝包,解壓安裝到自定義目錄

環境變量

修改環境變量,系統屬性->高級系統設置->高級->環境變量中系統變量Path添加一條指向OpenCV目錄內的D:\OpenCV2413\opencv\build\x86\vc12\bin文件夾

設置屬性

新建一個Visual Studio控制檯工程,導航到視圖->其他窗口->屬性管理器,右鍵點擊Debug | Win32 添加新項目屬性表,命名爲OpenCV_2.4.13_Debug_x86.props保存到自定目錄,本文以G:\Visual Studio\OpenCV爲例,並修改以下項目:

包含目錄

通用屬性->VC++目錄->包含目錄中,添加

D:\OpenCV2413\opencv\build\include
D:\OpenCV2413\opencv\build\include\opencv2
D:\OpenCV2413\opencv\build\include\opencv

注意請導航到你自己的OpenCV安裝目錄下

庫目錄

通用屬性->VC++目錄->庫目錄中,添加

D:\OpenCV2413\opencv\build\x86\vc12\lib

如下圖

這裏寫圖片描述

添加附加依賴項

在屬性頁打開通用屬性->鏈接器->輸入->附加依賴項

D:\OpenCV2413\opencv\build\x86\vc12\lib目錄中新建一個list.bat批處理文件,輸入以下內容:

cd %
dir *d.lib >> debug.list
dir *3.lib >> release.list
pause

保存關閉,運行,在目錄下即可得到debug.listrelease.list文件,用記事本打開如下:

debug.list

 驅動器 D 中的卷是 Software
 卷的序列號是 E48E-92B4

 D:\OpenCV2413\opencv\build\x86\vc12\lib 的目錄

2016/05/12  19:44           210,502 opencv_calib3d2413d.lib
2016/05/12  19:45           373,270 opencv_contrib2413d.lib
2016/05/12  19:43           473,664 opencv_core2413d.lib
2016/05/12  19:44           332,938 opencv_features2d2413d.lib
2016/05/12  19:43           107,910 opencv_flann2413d.lib
2016/05/12  19:44           457,990 opencv_gpu2413d.lib
2016/05/12  19:43           142,812 opencv_highgui2413d.lib
2016/05/12  19:43           193,196 opencv_imgproc2413d.lib
2016/05/12  19:44           476,570 opencv_legacy2413d.lib
2016/05/12  19:43           240,664 opencv_ml2413d.lib
2016/05/12  19:44           307,260 opencv_nonfree2413d.lib
2016/05/12  19:44           185,948 opencv_objdetect2413d.lib
2016/05/12  19:44           557,966 opencv_ocl2413d.lib
2016/05/12  19:43            91,576 opencv_photo2413d.lib
2016/05/12  19:45           568,938 opencv_stitching2413d.lib
2016/05/12  19:44           371,396 opencv_superres2413d.lib
2016/05/12  19:44         9,614,610 opencv_ts2413d.lib
2016/05/12  19:43           115,816 opencv_video2413d.lib
2016/05/12  19:44           381,590 opencv_videostab2413d.lib
              19 個文件     15,204,616 字節
               0 個目錄 26,290,794,496 可用字節

將其中的庫文件名複製出來,如下:

opencv_calib3d2413d.lib
opencv_contrib2413d.lib
opencv_core2413d.lib
opencv_features2d2413d.lib
opencv_flann2413d.lib
opencv_gpu2413d.lib
opencv_highgui2413d.lib
opencv_imgproc2413d.lib
opencv_legacy2413d.lib
opencv_ml2413d.lib
opencv_nonfree2413d.lib
opencv_objdetect2413d.lib
opencv_ocl2413d.lib
opencv_photo2413d.lib
opencv_stitching2413d.lib
opencv_superres2413d.lib
opencv_ts2413d.lib
opencv_video2413d.lib
opencv_videostab2413d.lib

粘貼到附加依賴項
這裏寫圖片描述

確定保存,至此,Debug的屬性配置完畢,不要忘記右鍵該屬性表保存

Release屬性表

接下來配置Release屬性表

創建Release屬性表

在Debug屬性表保存的G:\Visual Studio\OpenCV目錄中,將OpenCV_2.4.13_Debug_x86.props屬性表複製一份,命名爲OpenCV_2.4.13_Release_x86.props

修改Release屬性

在Visual Studio工程中的屬性管理器窗口右鍵點擊Release | Win32添加現有屬性表,導航到G:\Visual Studio\OpenCV目錄添加Release屬性表OpenCV_2.4.13_Release_x86.props,並雙擊打開修改通用屬性->鏈接器->輸入->附加依賴項

打開上文中生成的release.list,複製出release庫的文件名,如下:

release庫:

opencv_calib3d2413.lib
opencv_contrib2413.lib
opencv_core2413.lib
opencv_features2d2413.lib
opencv_flann2413.lib
opencv_gpu2413.lib
opencv_highgui2413.lib
opencv_imgproc2413.lib
opencv_legacy2413.lib
opencv_ml2413.lib
opencv_nonfree2413.lib
opencv_objdetect2413.lib
opencv_ocl2413.lib
opencv_photo2413.lib
opencv_stitching2413.lib
opencv_superres2413.lib
opencv_ts2413.lib
opencv_video2413.lib
opencv_videostab2413.lib

粘貼到附加依賴項中,確定保存,右鍵單擊該屬性表保存屬性表。

添加msvc120d

在VS2015中編譯OpenCV 2.4.13程序會報錯MSVCR120D.dll和MSVC120P.dll缺失

點擊這裏下載鏈接下載msvc120d兩個文件,放在D:\OpenCV2413\opencv\build\x86\vc12\bin目錄中,再次編譯即可解決問題。

注意切換到你自己的OpenCV安裝目錄下

測試

在工程中輸入以下代碼,測試運行

// Test.cpp : 定義控制檯應用程序的入口點。
//

#include "stdafx.h"
#include <iostream>
#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>

using namespace std;
using namespace cv;

int main()
{
    VideoCapture cap(0);

    if (!cap.isOpened())
    {
        cout << "Camera Error!" << endl;
        return -1;
    }

    Mat frame;
    namedWindow("Image", CV_WINDOW_AUTOSIZE);

    while (1)
    {
        cap >> frame;
        imshow("Image", frame);

        if (waitKey(2) == 27)
        {
            destroyAllWindows();
            break;
        }
    }

    return 0;
}

該程序會打開攝像頭顯示攝像頭圖像,至此完全配置完畢

新項目使用OpenCV

新項目要使用OpenCV時,只需要在Debug | Win32中添加保存好的Debug屬性表即可,要生成Release版本的話在Release | Win32中添加保存好的Release屬性表,非常方便。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章