[英]Assertion failed (size.width>0 && size.height>0) Qt with OpenCV
I have a problem to display an image on Qt Creator with OpenCV library. 我在使用OpenCV库在Qt Creator上显示图像时遇到问题。
I have a program that displays an image when a button is pressed. 我有一个程序,当按下按钮时会显示图像。 When I run it, it gives me 当我运行它时,它给了我
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. OpenCV错误:在cv :: imshow中,文件C:\\ builds \\ 2_4_PackSlave-win64-vc12-shared \\ opencv \\ modules \\ highgui \\ src \\ window.cpp中,断言失败(size.width> 0 && size.height> 0),第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");
}
but when i try this program it works very good 但是当我尝试这个程序时,它的效果很好
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");
}
I feel that the problem is in the directory but I don't know what it is. 我觉得问题出在目录中,但我不知道这是什么。 I have tried to change /
to \\
or //
but still getting this error. 我试图将/
更改为\\
或//
但仍然收到此错误。
Assuming that the path is correct, using CV_WINDOW_AUTOSIZE
doesn't make sense. 假设路径正确,则使用CV_WINDOW_AUTOSIZE
没有意义。 Use IMREAD_XXX
: 使用IMREAD_XXX
:
Mat src = imread("C:/Users/Amr/Documents/untitled7/layout.jpeg", IMREAD_COLOR);
However, double check the path, and remember that "image.jpeg" is different from "image.jpg". 但是,请仔细检查路径,并记住“ image.jpeg”与“ image.jpg”不同。 And... are you sure "untitled7" is correct? 而且...您确定“ untitled7”正确吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.