我在使用OpenCV库在Qt Creator上显示图像时遇到问题。
我有一个程序,当按下按钮时显示图像。当我运行它时,它给了我
OpenCV错误:cv :: imshow中的断言失败(size.width> 0& size.height> 0),文件C:\ builds \ 2_4_PackSlave-win64-vc12-shared \ opencv \ modules \ highgui \ 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");
}
我觉得问题出现在目录中,但我不知道它是什么。我尝试将/
更改为\
或//
,但仍然收到此错误。
答案 0 :(得分:2)
假设路径正确,使用CV_WINDOW_AUTOSIZE
没有意义。使用IMREAD_XXX
:
Mat src = imread("C:/Users/Amr/Documents/untitled7/layout.jpeg", IMREAD_COLOR);
然而,仔细检查路径,并记住“image.jpeg”与“image.jpg”不同。并且......你确定“无标题7”是正确的吗?