我正在嘗試在這裏找到的基本教程http://bsd-noobz.com/opencv-guide/40-1-load-and-display-an-image,它可以處理加載和顯示圖像。我在Visual Studio 2012中做到這一點。OpenCV無法找到圖像
我已經將圖像文件「lena.png」放在exe文件旁邊的Debug文件夾中。當我嘗試從終端執行exe文件時,它只會回覆「無法加載圖像!」。我也在Release文件夾中嘗試了這一結果。
這是我對節目的代碼:
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
if(argc > 1){
cout << argv[1] << endl;
}
Mat img = imread("lena.png", CV_LOAD_IMAGE_COLOR);
if (img.empty())
{
cout << "Cannot load image!" << endl;
return -1;
}
namedWindow("image", CV_WINDOW_AUTOSIZE);
imshow("image", img);
waitKey(0);
return 0;
}
我不明白爲什麼這個hapens,圖片是在同一目錄中的.exe和我下面的示例代碼的信。請幫我理解爲什麼它找不到該文件!編號: HAHAHAHAHA我修好了。在憤怒的情況下,我將* .lib的所有附加依賴項更改爲* d.lib,因爲我正在運行調試版本並且工作正常。如果我閱讀關於如何使用opencv的教程,它說有一個區別,但自編譯以來,我認爲它會起作用。我現在要嘗試發佈版本,看看它是否有效(當然還有更改依賴關係)。
編輯2: 是的,它的工作。因此,對於我自己的問題的答案是,您需要鏈接來自include文件夾的正確.lib文件作爲調試版本和發行版本的依賴關係。以「d」結尾進行調試,其他進行調試。現在可能不會那麼令人驚訝,我發現了問題,但它確實存在。
最有可能你的形象比爲png – 2013-04-05 07:35:53
嘗試把圖像解決方案文件夾等其他格式的。(其中*。 cpp文件) – mrgloom 2013-04-05 07:36:47
我嘗試了兩個建議,但得到了相同的結果。我真的被這個難住了。 – mpals 2013-04-05 07:54:07