C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误

C++, OpenCV, getting this error "OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)" when trying to display image

本文关键字:OpenCV size gt 显示 width height 错误 显示图 failed C++ 图像      更新时间:2023-10-16

我正在visual studio中为c++设置opencv。我已经下载了OpenCV并对其进行了设置,可以成功地包含OpenCV而不会出现任何错误。当尝试以下代码时,我得到并出错:";OpenCV(4.3.0(错误:断言失败(size.width>0&size.height>0("在第11行之后。

#include <opencv2opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
Mat img = imread("C:/Users/Whity/Desktop/OpenCVRoot/OpenCV/Win10BG_Red.png", IMREAD_COLOR);
imshow("Display Window", img);
waitKey(10);
return 0;
}

我查看了许多其他线程,其中许多讨论都是关于图像的错误路径或使用错误的文件类型。(png,jpg,jpeg(我已经四次检查了我的路径,并尝试了其他路径和其他图像,所有这些都导致了相同的错误。有什么想法吗?

由于您使用的是Windows,因此必须使用\来表示目录分隔符:

Mat img = imread("C:\Users\Whity\Desktop\OpenCVRoot\OpenCV\Win10BG_Red.png", IMREAD_COLOR);

即使在对上面的路径进行了更正之后,我怀疑您可能仍然会因为权限错误而遇到问题。某些程序无法访问您的桌面,除非您授予其管理员访问权限。您需要以管理员身份打开Visual Studio,或者将图像移动到计算机上的其他位置,以便它可以访问。我会更新我的答案。因此,对于前者,请退出Visual Studio,然后右键单击图标并单击Run As Administrator。打开后,请尝试再次加载图像。如果您仍然有问题,请将图像移动到其他位置,如计算机上的Documents目录中,然后尝试从那里读取。