1. 程式人生 > >VS2010+OpenCV的配置流程及常見問題

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;
}