天天看点

C++ opencv 4.5 imread() 读取图片,显示为空的解决办法C++ opencv 4.5 imread() 读取图片,显示为空的解决办法

C++ opencv 4.5 imread() 读取图片,显示为空的解决办法

一、路径问题

先查看下路径问题,如果使用的是相对路径,先查看下当前路径,判断输入的路径是否有错:

#include <direct.h>
    
    char buf[_MAX_PATH];
    std::string a;
    a=_getcwd(buf, _MAX_PATH);
    std::cout << a << std::endl;
           

如果使用的是绝对路径,在windows环境中,输入路径时不要使用“\”,使用“\\”或者“/”代替,在linux环境下,统一使用"/"。

二、配置问题

在配置opencv环境时时,需要将下载文件的lib文件添加到附加依赖项中,如下图所示:

C++ opencv 4.5 imread() 读取图片,显示为空的解决办法C++ opencv 4.5 imread() 读取图片,显示为空的解决办法

在Debug模式下应该选择带’d’的lib,在Release模式下就选择不带’d’的lib,配置不当会导致库关联的问题。以Debug模式为例,当进行到这一步时,我们应该保留带’d’的lib而将不带’d’的lib删除,或者如上图将带’d’的lib移动到最上方。

C++ opencv 4.5 imread() 读取图片,显示为空的解决办法C++ opencv 4.5 imread() 读取图片,显示为空的解决办法

还有一种方法是在程序的开始加上:

告诉程序将采用Debug版本的库函数。

实验结果:

C++ opencv 4.5 imread() 读取图片,显示为空的解决办法C++ opencv 4.5 imread() 读取图片,显示为空的解决办法

继续阅读