1. 程式人生 > >OpenCV2.4.5 + QT4.8.4 + VS2010 環境搭建

OpenCV2.4.5 + QT4.8.4 + VS2010 環境搭建

         忙乎了好幾天終於把環境搭建成功,中間經歷了好多糾結的情況,原因都是因為網上的資料都是比較老的版本搭建平臺的資料,新版本出來,某些設定需要改一下,所以就耽誤了不少時間!今天寫個部落格把這個過程記錄下來,自己以後可以參考,同時也給大家學習提供參考(環境與作業系統無關,Win7和Xp配置相同)。

       一、準備工作做好!下載軟體和OpenCV庫

       OpenCV庫,目前最新版本2.4.5。

        VS2010下載,直接安裝。

        Qt:網址:http://qt-project.org/downloads

       二、OpenCV庫的配置

              1、解壓OpenCV庫到D盤,OpenCV會自己建個資料夾opencv。如果想解壓到自己設定的資料夾也行。

              2、配置環境變數:

                   xp:我的電腦-》屬性-》高階-》環境變數

   新建變數(使用者,系統任選一個),變數名:opencv,變數值:d:\opencv

                   

                   雙擊Path,(同上),在後面新增

;D:\opencv\build\x86\vc10\bin

            

  三、新建一個工程,邊配置OpenCV與工程的依賴,邊實現OpenCV的第一個程式

             1、開啟VS2010,檔案-》新建-》專案-》Visual C++-》win32 Console Application-》

                                   Name:MyFirstOpenCVConsoleApp

                     

              2、確定-》下一步-》附加選項,空專案-》完成

                     

             3、View -》 Project Manager

                     

           4、在Property Manager視窗中,右鍵Debug|Win32,選擇Add New Project Property Sheet,

           5、選擇Property Sheet(.props),Name:OpenCVProjectD,Location:選擇工程主目錄,這樣以後再用OpenCV,配置可以直接新增OpenCVProjectD.props。

                   

       6、選擇Add,雙擊OpenCVProjectD,選擇VC++ Directories,配置Include Directories

                  新增:

          D:\opencv\bulid\include\opencv
          D:\opencv\bulid\include\opencv2
          D:\opencv\build\include

                     

        7、設定Library Directories,新增opencv library目錄進去:

D:\opencv\build\x86\vc10\lib

                    

        8、點選OK,選擇Linker-》Input

                    在裡面新增lib(lib格式是opencv_xx+版本號+(ddebug庫,沒有的是release庫)+.lib):

opencv_calib3d245d.lib
opencv_contrib245d.lib
opencv_core245d.lib
opencv_features2d245d.lib
opencv_flann245d.lib
opencv_gpu245d.lib
opencv_highgui245d.lib
opencv_imgproc245d.lib
opencv_legacy245d.lib
opencv_ml245d.lib
opencv_objdetect245d.lib
opencv_ts245d.lib
opencv_video245d.lib

                      

           9、點選OK-》確定,Debug|Win32配置成功,如果你是用Release除錯,Release|Win32也要配置,和Debug|Win32配置基本相同(4,5,6,7,8五步),

                     但是配置Release|Win32和Debug|Win32也有幾個小地方不同:

                      5中Name:OpenCVProjectD  -》OpenCVProjectR

                      8中新增的庫,全部沒有d,即:

opencv_calib3d245.lib
opencv_contrib245.lib
opencv_core245.lib
opencv_features2d245.lib
opencv_flann245.lib
opencv_gpu245.lib
opencv_highgui245.lib
opencv_imgproc245.lib
opencv_legacy245.lib
opencv_ml245.lib
opencv_objdetect245.lib
opencv_ts245.lib
opencv_video245.lib

10、點選左下角的Solution Exploer,右鍵Resource Files-》Add-》New Item-》C++ Files-》Name:main.cpp-》Add

         11、在main.cpp中輸入:

複製程式碼
#include <opencv2/core/core.hpp>
#include <opencv2\highgui\highgui.hpp>

cv::Mat function();

int main(){
	
	cv::Mat image = cv::imread("img.jpg");
	if(!image.data){
		return 1;
	}
	cv::namedWindow("Input Image");
	cv::imshow("Input Image",image);
	cv::Mat result;
	cv::flip(image,result,1);
	cv::namedWindow("Output Image");
	cv::imshow("Output Image",result);
	cv::imwrite("output.bmp",result);

	cv::Mat gray = function();
	cv::namedWindow("Display Image");
	cv::imshow("Display Image",gray);
	cv::waitKey(0);
	return 1;
}

cv::Mat function(){
	cv::Mat ima(240,320,CV_8U,cv::Scalar(100));
	return ima;
}
複製程式碼

           12、在工程中新增一張img.jpg檔案。

                   

           13、大功告成,點選執行,或者F5,等系統載入庫檔案完成,程式執行出兩張圖片,就說明OpenCV配置成功了。 

            

    四、安裝和編譯Qt4.8.4,

          1、安裝Qt4.8.4,具體目錄自己訂,但是目錄不能有空格,我選的是直接在d:\Qt檔案,然後一路next就行,

          2、主要問題是Qt4.8.4的編譯,Qt4.8.4的庫要經過VS2010重新編譯,編譯之前要修改幾個錯誤:

                1)刪除原始碼包中bin目錄下的syncqt和syncqt.bat檔案。

                2)修改\mkspecs\win32-msvc2010下的qmake.conf檔案,將其中QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t-,最後的-去掉。

                3)修改D:\Qt\4.8.4\src\3rdparty\webkit\Source\WebCore\platform下的DefaultLocalizationStrategy.cpp,定位到327行,改為

return WEB_UI_STRING("Look Up <selection>", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));
               3、編譯

         1)開始-》程式-》Microsoft Visual Studio 2010-》Visual Studio Tools-》Visual Studio命令提示(2010)。

         2)在命令中輸入如下命令:

           

3)輸入o(選擇Open Source模式),輸入Y(同意license),回車,執行。

        4)系統配置完成後,會有提示,輸入nmake,然後回車,接著就是漫長的等待了。

     4、安裝Qt外掛,一路Next到結束

   五、新建一個Qt程式,檢驗自己的Qt安裝是否成功。

     1、新建Qt工程:開啟VS2010-》檔案-》New-》工程-》Qt4 Projects-》Qt Application-》Name:MyQt-》Ok。

           

2、直接finish。

    3、覆蓋main.cpp程式如下:

 #include <QtGui/QApplication>
 #include <QLabel>
 
 int main(int argc, char *argv[])
 {
     QApplication a(argc, argv);
     QLabel *label=new QLabel("<h2><i>Hello </i>""<font color=red>world!</font></h2>");//create a label with the content "Hello world!"
     label->show();
     return a.exec();
 }
4、執行程式結果如下:

      

參考資料:

http://www.cnblogs.com/freedomshe/archive/2012/04/25/2470540.html

http://blog.csdn.net/sangni007/article/details/8425119