在醞釀了半個月之后,鄙人終于磨磨蹭蹭的下載安裝了CV2.2-win32版本。但由于下載到的是針對VS2010優化的,無法遇見安裝在2008中會發生什么問題。終于在煎熬了48小時+各種goole+自力更生后成功compiled~ 以下為安裝流程,與CV2.1、2.0版本的安裝原理大同小異,但由于2.2的文件組織結構發生變化,可能會導致像我這樣的小白照抄步驟的話無法成功安裝:
    
      1. 下載安裝OpenCV2.2到任意西文路徑。
     
      2. 下載安裝 CMake 2.8 ,安裝后用于導出CV的c++項目文件。
            http://www.cmake.org/cmake/resources/software.html

      (1) 如圖所示,選擇編譯資源,和編譯后結果的保存路徑(如 F:\OpenCV2.2\vc2008 )。點擊configure,配置為 VS 9 2008,配置無誤后點擊Generate生成各種工程文件。

                


         (2)  在編譯結果的文件夾內生成OpenCV.sln的VC Solution File,請用VS 2008 打開OpenCV.sln, 然后全部編譯,無誤后批生成所有EXAMPLE。



       至此,OpenCV的*d.dll文件(for debug)和*.dll文件(for release)將出現在 \vs2008\bin 目錄中;OpenCV的*d.lib文件(for debug)和*.lib文件(for release)將出現在\vs2008\lib 目錄;頭文件*.h出現在 vs2008\include\opencv2中。可以被 VS 2008 調用的OpenCV動態庫


     (5) 配置系統環境變量 將...\vs2008\bin加入Windows系統環境變量Path中,可能要重啟。

     (6) 為VS2008配置 OpenCV環境!如圖,配置CV程序可能需要的庫文件和頭文件。到了這一步問題終于出現了,按照CV中文站上的安裝教程安裝的話,VS死都提示 xxx.h 文件無法找到。經過多番摸索,最后是確定文件結構造成的問題。




     首先,完全生成OpenCV.sln內的代碼后,\vs2008\include 和 \vs2008\lib 內會出現相應的文件,.lib文件的路徑  xxx\vs2008\lib 只需按照教程直接添加即可。
但是include文件則不同,在2.1及其以下版本中的文件組織方式不同,2.2中由于一些重大更新,在opencv文件夾同級目錄下擁有opencv2文件夾(未使用VS08批生成之前),所有相應的頭文件其實都已經遷入其中,保留opencv文件夾的目的是為了向下兼容,打開opencv文件夾里的任意頭文件,我們發現代碼處大致有:

#ifndef __OPENCV_OLD_CXCORE_H__
#define __OPENCV_OLD_CXCORE_H__

//#if defined(__GNUC__)
//#warning "This is a deprecated opencv header provided for compatibility. Please include a header from a corresponding opencv module"
//#endif

#include "opencv2/core/core_c.h"
#include "opencv2/core/core.hpp"

#endif

      實際上編譯被跳轉了,但是回到 \vs2008\inlcude目錄下,驚訝的發現生成的結果事實上未包含 opencv文件夾!此時如果僅僅把 ...\vs2008\include\opencv2配置,則vs2008仍然無法導入頭文件,此時需要手動將 \include\opencv 目錄復制到 \vs2008下,然后追加配置 ...\vs2008\include\opencv。最后F5編譯,bingo~