2015-10-07 54 views
1

this我發現,OpenCV中給了我這個錯誤:OpenCV的和QT退出代碼問題-1073741701

#include <QCoreApplication> 
#include <opencv2/imgproc/imgproc.hpp> 
#include <opencv2/highgui/highgui.hpp> 
#include <opencv2/opencv.hpp> 

using namespace::cv; 
using namespace::std; 

int main(int argc, char *argv[]) 
{ 
    QCoreApplication a(argc, argv); 

    const char* filename = "1-page.png"; 
    // cout << filename << endl; 

    cout << "111" << endl; 
    Mat src = imread(filename, 0); 
    cout << "222" << endl; 
    return a.exec(); 
} 

如何解決此問題:

Starting C:\Users\nikola\Documents\build-ConsoleTry-Desktop_Qt_5_5_0_MSVC2013_64bit-Debug\debug\ConsoleTry.exe... C:\Users\nikola\Documents\build-ConsoleTry-Desktop_Qt_5_5_0_MSVC2013_64bit-Debug\debug\ConsoleTry.exe exited with code -1073741701

試圖運行此控制檯代碼後?我已將DLL文件複製到調試目錄中。在this answer中提到了Mat to Qt QImage對話的需要。這是否是這種情況,是否需要轉換其他對象?

從cmd開始.exe時的結果。

enter image description here

+1

可以從命令提示符運行.exe,並檢查是否打印了其他錯誤? (和NO,你需要轉換爲QImage才能顯示圖像,因爲你不能使用imshow並需要用Qt的東西顯示圖像) – Miki

+1

Comment Mat src .. line works? – Miki

+0

如果我評論Mat src行它沒有問題,但我acctualy需要使用OpenCV:D。我已經添加了從上面的cmd開始它的結果。 – nicksona

回答

2

Micka是正確的 - 它的確需要highgui,所以我抄自d所有.dll文件:\ opencv_2411 \ OpenCV的\建設\ 64 \ VC12 \ BIN調試目錄。我有hadeaches,因爲在此之前,我從Visual Studio 2013項目目錄中複製了所有.dll文件,但它們是x86,而QT項目是x64。謝謝你們!!!如果有人仍然有問題,請參閱this主題。

+0

vc12 = Visual Studio 2013。 – drescherjm