【轉】OpenCV—imread讀取數據為空


 

之前遇到一個很郁悶的問題,因為從用OpenCV2.3.1改成OpenCV2.4.4,開始改用Mat和imread來代替Iplimage和cvLoadImage,出了點小問題:imread讀入數據總是為空。

程序為:

1 Mat image = imread ("lena.jpg");  
2 imshow("lena",image);  
3 cvWaitKey(0);  

剛開始以為是路徑的問題,后來偶然采用Iplimage獲取圖像,可以很好的讀取圖片:

1 IplImage *src;  
2 src = cvLoadImage("lena.jpg"); //這里將lena.jpg和lena.cpp文件放在同一個文件夾下  
3 cvNamedWindow("lena",CV_WINDOW_AUTOSIZE);  
4 cvShowImage("lena",src);  
5 cvWaitKey(0);  
6 cvDestroyWindow("lena");  
7 cvReleaseImage(&src);  

搜了搜網上的說法,終於發現了原因(原鏈接已經丟失,可以自己搜搜看),原來是OpenCV配置出現問題!

是這樣的,之前配置時為了省事兒,無論是Debug還是Release中的附加依賴項,都添加了所有的lib,也就是沒有分Debug和Release。但實際上OpenCv是要分的,文件名尾帶d的為Debug庫函數,不帶d的為Release庫函數。只需將其中庫函數分開添加進附加依賴項即可。

 

轉自Daisy327


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM