VS2010+OpenCV的配置流程及常見問題
OpenCV的配置流程及常見問題
最近開始學習OpenCV,弄好了OpenCV的配置,總結一下自己遇到的問題及解決的方法。
安裝的平臺:VS2010+OpenCV2.4.9
參考的資料:
http://blog.csdn.net/poem_qianmo/article/details/19809337
淺墨的博文中對Opencv的配置進行了詳細的講解,下面主要總結自己在配置過程中遇到的一些問題及解決方案:
1. Cannot find or open the PDB file
除錯程式是會出現這個問題,可直接執行程式。http://bbs.csdn.net/topics/350149584
2. OpenCV Error: Assertion failed (size.width>0 && size.height>0) in unknown function, file C:\opencv\modules\highgui\src\window.cpp, line 261
導致這個問題的原因,遇到的主要有2個原因:1)讀入圖片的路徑未設定正確;2)若使用imread()讀入圖片,imread()無法載入圖片,主要是庫檔案設定有問題。
原因1),可設定為絕對路徑;或是將圖片檔案放在該工程目錄下,即檔案預設新增的路徑下。
原因2),使用imread()無法讀入圖片資訊,但是利用cvLoadImage()卻可以正常讀入,主要是連結庫的配置部分的問題。
在進行連結庫配置時,一般是將帶d的和不帶d的全部都加入,但是在執行的時候,一般會遇到在debug下可以執行而在release下不能執行,或是正好相反,這地方好像和你加入庫檔案的順序有關,若先加入的是帶d的lib庫檔案,則在debug下可以執行,反之則是release下可正常執行。
解決方法:在淺墨的博文中也有提到,在當前工程的屬性頁中把不能正常執行模式下對應的lib庫檔案新增到【屬性】->【連結器】->【輸入】->【附加的依賴項】目錄下。
3. R6010 Error
可能由於問題2中無法讀入檔案導致的問題。參考:http://stackoverflow.com/questions/7773630/executable-not-running-r6010
4. 測試程式
#include<iostream> #include<opencv2\core\core.hpp> #include<opencv2\highgui\highgui.hpp> using namespace cv; int main() { Mat img=imread("F:\\test\\connect\\Debug\\Car.jpg"); if (img.empty()){ cvNamedWindow("Can not find the image"); waitKey(); return -1; } cvNamedWindow("My Image"); imshow("My Image",img); cv::waitKey(5000); return 1; }