http://blog.csdn.net/morewindows/article/details/8225783/php
本篇主要介紹如何下載OpenCV安裝程序,如何在VS2008下安裝配置OpenCV,文章最後還介紹了一個使用OpenCV的簡單小例子。windows
《OpenCV入門指南》系列文章地址:http://blog.csdn.net/morewindows/article/category/1291764ide
能夠到http://www.opencv.org.cn/index.php/Download,而後選一個較新版本下載。我下的是V2.3.1版本,下載地址是:函數
http://www.opencv.org.cn/download/OpenCV-2.3.1-win-superpack.exe工具
下載完成後,雙擊運行exe,選擇輸出目錄,我選擇的是D:\opencv。而後解壓縮就完成了安裝。安裝過程以下圖所示:ui
在「個人電腦」右擊彈出「系統屬性」對話框,選擇「高級」再點擊「環境變量」,而後再編輯path,在「編輯用戶變量」對話框的變量值輸入如下三條,注意用「;」來分開。spa
D:\opencv\opencv\build\x86\vc9\bin;.net
D:\opencv\opencv\build\x86\mingw\bin;3d
D:\opencv\opencv\build\common\tbb\ia32\vc9;blog
在VS2008中點擊「工具」,再點擊「選項」,而後選擇「項目和解決方案」,手動加入庫文件,引用文件和包含文件便可完成OpenCV在VS2008的導入。
下面是最簡單的OpenCV使用例子,功能也很簡單——加載圖像文件並顯示出來。代碼以下:
對代碼中的主要函數進行下講解:
1.建立窗口 cvNamedWindow
函數名稱:cvNamedWindow
函數功能:建立窗口
函數原型:
int cvNamedWindow( const char* name, int flags=CV_WINDOW_AUTOSIZE );
參數說明:
第一個參數表示窗口的名字,它被用來區分不一樣的窗口,並被顯示爲窗口標題。被建立的窗口能夠經過它們的名字被引用。
第二個參數表示窗口屬性標誌。目前惟一支持的標誌是CV_WINDOW_AUTOSIZE。當這個標誌被設置後,用戶不能手動改變窗口大小,窗口大小會自動調整以適合被顯示圖像。
函數cvNamedWindow建立一個能夠放置圖像和trackbar的窗口。
注意:
若是已經存在這個名字的窗口,這個函數將不作任何事情。
2.在指定窗口中顯示圖像 cvShowImage
函數名稱:cvShowImage
函數功能:在指定窗口中顯示圖像
函數原型:
void cvShowImage( const char* name, const CvArr* image );
參數說明:
第一個參數:窗口的名字。
第二個參數:被顯示的圖像。
3.等待按鍵事件 cvWaitKey
函數名稱:cvWaitKey
函數功能:等待按鍵事件
函數原型:
int cvWaitKey( int delay=0 );
參數說明:
第一個參數:延遲的毫秒數,當delay<=0時表示無限等待。
函數返回值:
若是超過指定時間則返回-1,不然返回被按鍵的值。
編譯,竟然出錯了!!錯誤信息以下:
1>正在連接...
1>opencv_test1.obj : error LNK2019: 沒法解析的外部符號_cvReleaseImage,該符號在函數_main 中被引用
1>opencv_test1.obj : error LNK2019: 沒法解析的外部符號_cvDestroyWindow,該符號在函數_main 中被引用
1>opencv_test1.obj : error LNK2019: 沒法解析的外部符號_cvWaitKey,該符號在函數_main 中被引用
1>opencv_test1.obj : error LNK2019: 沒法解析的外部符號_cvShowImage,該符號在函數_main 中被引用
1>opencv_test1.obj : error LNK2019: 沒法解析的外部符號_cvNamedWindow,該符號在函數_main 中被引用
1>opencv_test1.obj : error LNK2019: 沒法解析的外部符號_cvLoadImage,該符號在函數_main 中被引用
如今如何解決這個問題了?既然是在連接時出的錯,說明確定有靜態庫沒有被編譯器找到。所以咱們在VS2008中點擊「項目」,再點擊「屬性」,依次展開「配置屬性」-->「連接器」-->「輸入」在「附加依賴項中」添加以下靜態文件。
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
再編譯,成功。程序運行結果以下圖所示:
呵呵,很酷的衝浪~~
下面列出OpenCV入門指南目錄,方便你們查看。
11.《【OpenCV入門指南】第十一篇鼠標繪圖》
12.《【OpenCV入門指南】第十二篇沒法運行OpenCV程序?》
13.《【OpenCV入門指南】第十三篇人臉識別》
14.《【OpenCV入門指南】第十四篇 Haartraining》即將發佈
轉載請標明出處,原文地址:http://blog.csdn.net/morewindows/article/details/8225783
《OpenCV入門指南》系列文章地址:http://blog.csdn.net/morewindows/article/category/1291764