我在VC2010中使用opencv,對此我非常熟悉。OPENCV無法在調試模式下打開我的圖像
我今天安裝了OPENCV 2.4.5,並試圖顯示一個圖像來測試我的opencv是否有效。
令人驚訝的是,這段代碼在釋放模式下顯示圖像,但是當我將編譯器模式更改爲調試時,opencv無法找到圖像並返回null圖像數據!
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
int main()
{
cv::RNG rng;
cv::Mat image = cv::imread("1.jpg",-1);
cv::imshow("Image",image);
cv::waitKey(0);
return 0;
}
顯示錯誤爲:
OpenCV Error: Bad flag (parameter or structure field) (Unrecognized or unsupport
ed array type) in unknown function, file ..\..\..\src\opencv\modules\core\src\ar
ray.cpp, line 2482
我敢肯定,在釋放模式的代碼工作正常,那麼路徑,圖像的名字,一切都很好,但我不知道爲什麼它不能在調試模式下工作。
我也給絕對路徑作爲輸入,它也沒有工作!但再次絕對路徑工作在發佈模式!
值得一提的是,我還在32位和64位的opencv庫上測試了我的項目,問題沒有改變!
如果調試可執行文件是建立在從發佈可執行不同的位置正確的lib名字,則需要將您的映像文件複製到調試版本的目錄中。要麼是,要麼傳遞一個絕對路徑到'imread'。 – Aurelius
@Aurelius我測試了絕對路徑,但它也沒有工作... – PsP