簡體   English   中英

OpenCV Build正常,調試會引發錯誤,可以從.exe正常運行

[英]OpenCV Build ok, debug throws error, runs fine from .exe

使用Visual Studio 2010,OpenCV 2.2.2,Windows 7 64x

我的代碼成功構建,然后在進行調試時出現以下錯誤:

First-chance exception at 0x75f0c41f in MachineVisionHW0.exe: Microsoft C++ exception: cv::Exception at memory location 0x002dec90..
Unhandled exception at 0x75f0c41f in MachineVisionHW0.exe: Microsoft C++ exception: cv::Exception at memory location 0x002dec90..

然后我結束調試,轉到文件目錄並運行生成的可執行文件,它運行良好。 有人知道如何解決此問題嗎? 它並不能阻止我構建代碼,但是卻帶來了極大的不便。 我將在下面提供執行此操作的代碼示例。

int main(){
    cv::Mat image1 = cv::imread("img1.JPG", CV_LOAD_IMAGE_GRAYSCALE);

    cv::namedWindow("Sample1");
    cv::imshow("Sample1", image1);
    cv::waitKey(0); 

    return 1;
}

main 之前得到未處理的異常嗎?

如果沒有,那么您的代碼就以某種方式做了一些事情來引發異常。 在第一行上放置一個斷點,然后按F5,然后在該斷點處一次,一次遍歷代碼行,以查看是哪一個導致異常,用F10鍵執行此操作。

我的直覺是,從調試器運行時, cv::imread失敗,因為它沒有從預期位置找到img1.jpg,當前的工作目錄是解決方案文件的目錄,而不是debug輸出build dir的目錄。 。 您可以進行快速測試,然后將img1.jpg復制到包含sln文件的目錄中,看看是否可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM