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文件添加到附加依赖项中,如下图所示:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNCM38FdsYkRGZkRG9lcvx2bjxCOfVmepNHL6VERPBzaE90dRpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZwpmLxADN1EzN1UTMxEjNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
在Debug模式下应该选择带’d’的lib,在Release模式下就选择不带’d’的lib,配置不当会导致库关联的问题。以Debug模式为例,当进行到这一步时,我们应该保留带’d’的lib而将不带’d’的lib删除,或者如上图将带’d’的lib移动到最上方。
还有一种方法是在程序的开始加上:
告诉程序将采用Debug版本的库函数。
实验结果: