这是调用代码,windows平台的.
unsigned* fun(const char *path)
{
unsigned *result=new unsigned[75];
int l=strlen(path);
char * pp=new char[l];
for(int i=0;i<l+1;i++)
if(path[i]=='/')
pp[i]='\\' ;
else
pp[i]=path[i];
string imgpath=path;
Mat img=cv::imread("1.png",1);
if(img.empty())exit(0);
//...
}
我绝望地试了无数种路径写法,都没用.它一定返回一个none,也就是empty()为true.
[ WARN:0@6.500] global loadsave.cpp:248 cv::findDecoder imread_(''): can't open/read file: check file path/integrity
这是报错消息.从这个报错消息看,它的imread接收到了一个''
值,也就是空值,自然读不到图片.但我哪怕直接把路径的字符串常量丢进去,它还是这个错误.
为什么会这样呢?
解决了.
qt的debug模式下不允许使用imread,我真不知道是怎么回事.