当前位置: 首页 > 知识库问答 >
问题:

c++ - 我的opencv2的imread为什么不运作?

胡曾笑
2023-10-01

这是调用代码,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个答案

查锦程
2023-10-01

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

 类似资料:
  • 为什么imread总是报错[ WARN:0@0.165] global loadsave.cpp:248 cv::findDecoder imread_(''): can't open/read file: check file path/integrity 尝试了各种:放在同一目录调用,单引号调用,更改图片类型(png),都是报错。恳请大佬帮助。

  • 有人能找出为什么我的不能工作。也许我错过了什么。我意识到这可能是愚蠢的没有任何更多的上下文比我所展示的,但请您询问,我将很乐意提供更多。 这是一段很大的代码,所以我不知道如何用它生成SSCE。您正在查看的是子类的构造函数,它包含3个面板。此时,只是一个。方法打开一个filechooser,然后加载选定的图像,该图像被绘制到上。图像显示良好,一切正常,除了我调整窗口大小时,没有滚动条。

  • 我刚开始学C++,我试着做一个骰子游戏,用户输入一个1到6之间的数字,然后代码打印一个在这个范围内的随机数,如果y和z相同,你就赢了。 这是我的代码,但当我输入一个数组中没有的数字时,它的工作方式就好像它在数组中一样。 (输入是y)(数组是x)(你需要赢的数字是z) 此外,我可能会更改它,使它只读取数组,这样用户甚至可以放入骰子的边数,如果这样做顺利的话。

  • 按下开始按钮后,它运行程序,但它不允许我使用右下角的退出按钮,我不知道为什么它会这样做。有人能帮忙吗。我希望它继续运行该程序,但仍然允许我使用该按钮,因此,如果我想中途退出,它将允许我。项目描述:“对于我的项目,我将使用python创建一个随机迷宫生成软件。我将创建一个网格呈现给用户。该软件将从左上角开始,然后创建迷宫,沿随机方向运行,最后在右下角结束。”

  • 问题内容: 发生了最奇怪的事情,我的测试运行正常,但现在不再,我完全没有更改代码,这里是一个例外: 问题答案: 我看到您正在使用Eclipse,但您是否还在使用其他外部构建/测试工具,例如Ant或Maven?有时,在同时使用其他外部工具时,Eclipse可能会不同步。 如果使用外部工具,请执行清理生成的工件所需的所有操作(例如mvn clean)。然后刷新Eclipse项目并按照前面的建议进行干净