繁体   English   中英

C++,OpenCV,在尝试显示图像时收到此错误“OpenCV(4.3.0)错误:断言失败(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

我正在尝试在 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM