2017-02-14 2 views
0

Ich habe ein Problem, ein Bild auf Qt Creator mit OpenCV Bibliothek anzuzeigen.Assertion fehlgeschlagen (Size.width> 0 && Size.height> 0) Qt mit OpenCV

Ich habe ein Programm, das ein Bild anzeigt, wenn eine Taste gedrückt wird. Wenn ich es laufen, gibt es mir

OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file C:\builds\2_4_PackSlave-win64-vc12-shared\opencv\modules\highgui\src\window.cpp, line 261 The program has unexpectedly finished.

using namespace cv; 

void MainWindow::on_start_clicked() 
{ 

    Mat src = imread("C:/Users/Amr/Documents/untitled7/layout.jpeg",CV_WINDOW_AUTOSIZE); 
    namedWindow("src",CV_WINDOW_AUTOSIZE); 
    imshow("src",src); 
    waitKey(0); 
    destroyWindow("src"); 
} 

aber wenn ich dieses Programm versuchen, funktioniert es sehr gut

using namespace cv; 

void MainWindow::on_start_clicked() 
{ 

    Mat src (500,500,CV_8UC3,Scalar(255,0,0)); 
    namedWindow("src",CV_WINDOW_AUTOSIZE); 
    imshow("src",src); 
    waitKey(0); 
    destroyWindow("src"); 
} 

Ich glaube, dass das Problem in dem Verzeichnis, aber ich weiß nicht, was es ist. Ich habe versucht, / zu \ oder // zu ändern, aber immer noch diesen Fehler zu bekommen.

+0

Prüfen Sie, ob das Laden korrekt ist, indem Sie den zurückgegebenen Wert mit 'src.data! = NULL 'vergleichen. –

+2

Mögliche Duplikat [Assertion fehlgeschlagen (Size.width> 0 && Size.height> 0)] (http://stackoverflow.com/questions/20821269/assertion-failed-size-width0-size-height0) –

+0

I don‘ Ich denke, es ist ein Betrogener. Hier ist klar, was der Fehler bedeutet .. Die Frage ist, warum es nicht mit der aktuellen Codezeile funktioniert. Just my two cents ... – Miki

Antwort

2

Unter der Annahme, dass der Pfad korrekt ist, macht die Verwendung von CV_WINDOW_AUTOSIZE keinen Sinn. Verwenden Sie IMREAD_XXX:

Mat src = imread("C:/Users/Amr/Documents/untitled7/layout.jpeg", IMREAD_COLOR); 

jedoch die doppelte Pfad überprüfen, und denken Sie daran, dass "image.jpeg" unterscheidet sich von "image.jpg". Und ... bist du sicher, dass "untitled7" korrekt ist?

+0

Ich habe den Pfad kopieren vorbei, so dass ich bin sicher, dass es richtig ist, ich habe versucht, IMREAD_COLOR statt CV_WINDOW_AUTOSIZE aber noch – Amr

+0

diesen Fehler habe ich das Laden von Bildern mit (stc.data) getestet und ich weiß jetzt, es ist nicht erfolgreich geladen, weiß aber nicht, warum – Amr

+1

Haben Sie meine Antwort gelesen? Verwenden Sie IMREAD_COLOR, überprüfen Sie die tatsächliche Erweiterung, die unbenannte7 scheint nicht richtig. Und ... existiert das Bild? – Miki

Verwandte Themen