總結----堅持寫下去
OpenCV全稱:Open Source computer vision Library,開源計算機視覺庫
接下來對OpenCV 2.4.9在VS2010上的配置做簡要的說明,並且把自己遇到的問題也寫出來,供後者參考。
先下載OpenCV2.4.9,解壓。如果沒有看到完整的lib文件,可能就是需要CMake軟件進行解析。或許這個在高版本中才會遇到。
解壓完成後,我們需要對自己的計算機進行了解:*64或者*86。我的是64位的,則需要在環境變量中“Path”路徑中設置路徑。“F:\opencv\build\x64\vc10\bin”就像這樣子的,找到放在目錄後面即可(加;號在後面添加)。一個是用戶變量(針對當前用戶起作用),一個是系統變量(對所有用戶都起作用)。
接下來就需要在VS2010中配置,先新建一個Win32控制檯程序,在這裏我們可以做簡單測試。
新建好項目之後,我們需要找到:項目----屬性----配置屬性----VC++目錄
在這裏我們先在“包含目錄”中添加相應的頭文件“F:\opencv\build\include F:\opencv\build\include\opencv F:\opencv\build\include\opencv2”這三個目錄,到時候就可以在這三個目錄中方便查找相應的頭文件,現在沒懂.hpp這個頭文件是什麼意思(知道的可以給我留言)。
在“庫目錄”中,添加“F:\opencv\build\x64\vc10\lib”因爲是VS2010所以,添加VC10的lib文件
最後一步就需要在“鏈接器----輸入----附加依賴項”中添加對應的lib文件。
這裏是opencv2.4.9需要添加的,不管用不用,先添加上,不報錯就好。如果是*64位的需要在Debug旁邊設置爲*64的,如果改動後,也需要配置。
opencv_ml249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
添加好之後,新建cpp文件,可仿照我下面寫的。
#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace std;
using namespace cv;
int main()
{
// 讀入一張圖片(遊戲原畫)
Mat img=imread("a.jpg", 1);
// 創建一個名爲 "遊戲原畫"窗口
if(img.empty()){
cout << "out " << endl;
}else{
cvNamedWindow("遊戲原畫");
// 在窗口中顯示遊戲原畫
imshow("遊戲原畫",img);
// 等待6000 ms後窗口自動關閉
waitKey(6000);
}
return 0;
}
如果在這裏沒有調試出來,而顯示出來圖片“Mat img”,對象實例是空的。我們只需要做下面操作就好。
配置屬性----C/C++----代碼生成----運行庫,中修改爲多線程調試即可。親自測試有效。
這個是第二種方法,可以顯示圖片。
#include <opencv2\opencv.hpp>
#include<iostream>
using namespace cv;
void main()
{
IplImage *src;
src = cvLoadImage("a.jpg"); //這裏將lena.jpg和lena.cpp文件放在同一個文件夾下
cvNamedWindow("lena",CV_WINDOW_AUTOSIZE);
cvShowImage("lena",src);
cvWaitKey(0);
cvDestroyWindow("lena");
cvReleaseImage(&src);
}
圖片放置的位置,可以是項目中,添加文件名就可以。也可以添加絕對路徑訪問。
最後,沒有了,遇到的問題就該大功告成了吧。
2016年3月15日22:27
Kindy