断言失败 (size.width>0 && size.height>0) Qt with OpenCV

Assertion failed (size.width>0 && size.height>0) Qt with OpenCV

本文关键字:gt size Qt with OpenCV 失败 断言 width height      更新时间:2023-10-16

我有一个问题可以在QT创建者上使用OpenCV库显示图像。

我有一个程序在按下按钮时显示图像。当我运行它时,它给了我

opencv错误:断言失败(size.width> 0&& size.height> 0)在cv :: imshow中src window.cpp,第261行 该程序意外完成。

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");
}

但是,当我尝试此程序时,它可以很好地

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");
}

我觉得问题在目录中,但我不知道它是什么。我试图将/更改为//,但仍会遇到此错误。

假设路径正确,使用CV_WINDOW_AUTOSIZE是没有意义的。使用IMREAD_XXX

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

但是,请仔细检查路径,并记住" image.jpeg"与" image.jpg"不同。...您确定" untitled7"是正确的吗?