我的opencv2的imread为什么不运作?

这是调用代码,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接收到了一个''值,也就是空值,自然读不到图片.但我哪怕直接把路径的字符串常量丢进去,它还是这个错误.
为什么会这样呢?

阅读 1.8k
1 个回答

解决了.
qt的debug模式下不允许使用imread,我真不知道是怎么回事.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题