![](/img/trans.png)
[英]OpenCV Error: Assertion failed (size.width>0 && size.height>0) simple code
[英]C++, OpenCV, getting this error “OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)” when trying to display image
我正在尝试在 Visual Studio 中为 c++ 设置 opencv。 我已经下载了 OpenCV 并进行了设置,并且可以成功包含 opencv 而没有任何错误。 尝试以下代码时,我得到错误:“OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)”在第 11 行之后。
#include <opencv2\opencv.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
目录中,然后尝试从那里读取它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.