vs2008 + OpenCV-2.1.0-win32-vs2008安裝
1. 安裝vs2008+sp1
2. 安裝opencv-2.1.0-win32-vs2008,假設(shè)安裝目錄為c:\opencv2.1。安裝過程中注意選擇添加環(huán)境變量,把 “add it to your Current User PATH “前的復(fù)選框勾上 .
3. 為vs2008配置openvc,過程如下:
工具->選項->項目和解決方案->vc++目錄,
“顯示一下內(nèi)容的目錄”下拉列表中選擇“包含文件”,添加條目“C:\OpenCV2.1\include\opencv”;
“顯示一下內(nèi)容的目錄”下拉列表中選擇“庫文件” ,添加條目“C:\OpenCV2.1\lib”;
"顯示一下內(nèi)容的目錄"下拉列表選擇“源文件”,添加條目”C:\OpenCV2.1\src\cv” ,”C:\OpenCV2.1\src\cvaux” ,”C:
\OpenCV2.1\src\cxcore” ,”C:\OpenCV2.1\src\highgui”。
點擊“確定”。
4. 為單個工程配置運行環(huán)境,如:
(1) 新建一個win32命令控制臺項目opencvhello
(2) 在解決方案資源管理器中右鍵點擊項目名稱opencvhello,選擇“屬性”,
在“配置(C)”下拉列表中選擇Debug, 然后“配置屬性”->“鏈接器”->“輸入”->附加依賴項,添加 cxcore210d.lib
cv210d.lib highgui210d.lib
在“配置(C)”下拉列表中選擇Release, 然后“配置屬性”->“鏈接器”->“輸入”->附加依賴項,添加 cxcore210.lib
cv210.lib highgui210.lib
中間如果提示要保存的話,就保存。最后點擊確定。
(3) 測試。用下列代碼代替源代碼,注意imagename中保存的是圖片的硬盤地址,程序的運行結(jié)果是顯示imagename指向的圖片。
/***********************************************************************
* OpenCV 2.0 測試?yán)?br> * 于仕琪 提供
***********************************************************************/
#include "stdafx.h"
#include "highgui.h"
//所有的以新風(fēng)格命名的函數(shù)都在 cv 命名空間中
//如果希望不要每次都輸入 cv:: ,則可使用下面語句
//using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
const char* imagename = "E:\\OpenCV2.1\\samples\\c\\lena.jpg";
cv::Mat img = cv::imread(imagename); // Matlab風(fēng)格的 cvLoadImage 函數(shù)的另一種調(diào)用
if(img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
if( !img.data ) // 檢查是否正確載入圖像
return -1;
cv::namedWindow("image", CV_WINDOW_AUTOSIZE); //創(chuàng)建窗口
cv::imshow("image", img); //顯示圖像
cv::waitKey();
return 0;
}
VC 2008 Express下安裝OpenCV2.0/2.1
http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.0
安裝VC++ 2008 Express
Visual C++ Express是微軟推出的一款免費集成開發(fā)環(huán)境,如果你沒有足夠資金購買Visual C++,你可以使用Visual C++ Express。本安裝說明撰寫時,最新的版本是Visual C++ 2008 Express.
Visual C++ 2008 Express可以從微軟網(wǎng)站下載安裝(http://www.microsoft.com/express/product/default.aspx )。
安裝OpenCV
從 http://www.opencv.org.cn/index.php/Download 下載OpenCV 2.0,并安裝,本文檔假定安裝目錄為:D:\Program Files\OpenCV2.0
安裝CMake
從 http://www.cmake.org/cmake/resources/software.html 下載 Windows (Win32 Installer) 安裝。
編譯OpenCV
用CMake導(dǎo)出VC++項目文件
- 運行cmake-gui,設(shè)置路徑為OpenCV安裝路徑(本文檔假定安裝位置為:D:\Program Files\OpenCV2.0),并創(chuàng)建子目錄D:\Program Files\OpenCV2.0\vc2008,用于存放編譯結(jié)果。
- 然后點 configure,在彈出的對話框內(nèi)選擇 Visual Studio 9 2008。
- 如果是VC++2008的Express版本,則不支持OpenMP,所以需要取消ENABLE_OPENMP選項,取消后再次選擇“Congfigure”,完成后選擇“Generate”。VC++ 2008(不是Express版本)支持OpenMP,如果你使用VC++2008,強(qiáng)烈建議不要取消這個選項。
編譯 OpenCV Debug和Release版本庫
完成上一步驟后,將在D:\Program Files\OpenCV2.0\vc2008目錄下生成OpenCV.sln的VC Solution File,請用VC++ 2008 Express打開OpenCV.sln,然后執(zhí)行如下操作:
- 在Debug下,選擇Solution Explorer里的 Solution OpenCV,點右鍵,運行"Rebuild Solution";如編譯無錯誤,再選擇INSTALL項目,運行"Build"。
- 在Release下,選擇Solution Explorer里的 Solution OpenCV,點右鍵,運行"Rebuild Solution";如編譯無錯誤,再選擇INSTALL項目,運行"Build"。
此時,OpenCV的*d.dll文件(for debug)和*.dll文件(for release)將出現(xiàn)在D:\Program Files\OpenCV2.0\vc2008\bin目錄中;OpenCV的*d.lib文件(for debug)和*.lib文件(for release)將出現(xiàn)在D:\Program Files\OpenCV2.0\vc2008\lib目錄;頭文件*.h出現(xiàn)在D:\Program Files\OpenCV2.0\vc2008\include\opencv中。
可以被VC++ 2008 Express調(diào)用的OpenCV動態(tài)庫生成完畢。
配置Windows環(huán)境變量Path
將D:\Program Files\OpenCV2.0\vc2008\bin加入Windows系統(tǒng)環(huán)境變量Path中。加入后可能需要注銷當(dāng)前Windows用戶(或重啟)后重新登陸才生效。
為VC++ 2008 Express配置OpenCV環(huán)境
打開VC++ 2008 Express,菜單 Tools -> Options -> Projects and Solutions -> VC++ Directories
- Show directories for選擇include files,加入目錄 D:\Program Files\OpenCV2.0\vc2008\include\opencv
- Show directories for選擇library files,加入目錄 D:\Program Files\OpenCV2.0\vc2008\lib
關(guān)閉VC++ 2008 Express。
使用OpenCV 2.0編程
- 打開VC++ 2008 Express,創(chuàng)建一個Win32控制臺程序opencvhello;
- 選擇Solution Explorer里的opencvhello項目,點擊鼠標(biāo)右鍵,選擇Properties,在[鏈接器 LINKER]的[輸入INPUT]中;
- 為項目的Debug配置增加依賴的庫:cxcore200d.lib cv200d.lib highgui200d.lib(注意,文件名cv200d.lib 可能是cv***d.lib等形式,具體應(yīng)查看D:\Program Files\OpenCV2.0\vc2008\lib )
- 為項目的Release配置增加依賴的庫:cxcore200.lib cv200.lib highgui200.lib
- 配置屬性-字符集修改為使用“多字節(jié)字符集” (由于2008默認(rèn)是以Unicode字符集編譯的)
- 編譯運行下面的例程(需要將lena.jpg文件放在項目目錄下)。
/***********************************************************************
* OpenCV 2.0 測試?yán)?
* 于仕琪 提供
***********************************************************************/
#include "stdafx.h"
#include "highgui.h"
//所有的以新風(fēng)格命名的函數(shù)都在 cv 命名空間中
//如果希望不要每次都輸入 cv:: ,則可使用下面語句
//using namespace cv;
int _tmain(int argc, _TCHAR* argv[])
{
const char* imagename = "lena.jpg";
cv::Mat img = cv::imread(imagename); // Matlab風(fēng)格的 cvLoadImage 函數(shù)的另一種調(diào)用
if(img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
if( !img.data ) // 檢查是否正確載入圖像
return -1;
cv::namedWindow("image", CV_WINDOW_AUTOSIZE); //創(chuàng)建窗口
cv::imshow("image", img); //顯示圖像
cv::waitKey();
return 0;
}
作者
注:使用OpenCV 2.1 的,請將上圖中的 *200.lib 和 *200d.lib 分別改為 *210.lib 和 *210d.lib
Win7 下使用opencv2.1 VC++2008時該程序中加載圖像時要寫完整路徑,不然加載不了。例如:
const char* imagename = "lena.jpg";
需要修改為
const char* imagename = "D:\\lena.jpg";