• MATLAB读取图片时报错:“错误使用 fopen 找不到文件,确保文件存在且路径” 的原因及解决方法


       本文主要介绍MATLAB读取图片时报错:错误使用 fopen 找不到文件,确保文件存在且路径 出错 imread>get_full_filename (第 558 行) [fid, errmsg] = fopen(filename, ‘r’); 出错 imread (第 377 行) fullname = get_full_filename(filename);的原因及解决方法

       其他博客中介绍的常见原因有以下几条

       1、路径包括中文

       2、路径包括非法字符

       3、路径在C盘中

       4、路径太浅,比如直接放在了D:/下,此时可以先建一个文件夹,然后把图片放在文件夹中


       相信很多小伙伴也会遇到不包含以上介绍的原因,依然报错了,那是为什么呢?

       接下来的内容才是本文的价值所在    ✿(。◕ᴗ◕。)✿

       ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

       导致以上错误的罪魁祸首----不可见的字符

       -----------------------------------------------------------

       比如以下两行字符双引号内的内容看起来是“一样”的,但是在第一行的 " 和 D之间存在一个不可见字符,这也是导致以上报错的原因,只要删掉这个不可见字符就可以解决以上错误。

    imagi="‪D:\e\project_test\matlabtest\appdesignertext\gqkl1.jpg";
    image="D:\e\project_test\matlabtest\appdesignertext\gqkl1.jpg";
    
    • 1
    • 2

       大家可以把以上两行内容复制到matlab命令行窗口或者txt文本文件中,然后把光标依次放在每行的最左侧,然后按字符依次右移光标检查是否存在不可见字符,若某处存在不可见字符 ,则在此处右移一次光标(按一次键盘上的“→”)你会发现光标好像还在原地,但其实光标已经右移了,跨越了我们看不见的不可见字符。

       动态演示如下:

    在这里插入图片描述

       所以大家遇到文章介绍的报错以后,在排除其他原因后,可以按照以上方法检查一下整个路径中是否存在不可见字符,若存在不可见字符,将所有不可见字符删除后,就可以解决以上错误

       演示如下:

    在这里插入图片描述

       到这里,该错误的解决方法就介绍完毕了,接下来我们将介绍一种复制路径时会导致出现不可见字符的操作
       经过测验:复制路径时,采用正向复制时,没有出现不可见字符,而采用逆向复制时会在路径的开头处出现一个不可见字符,上面的例子中,即出现在D的左边。

       此时,若先粘贴复制的内容,然后再加需要的 " " 则大概率会将D左边的不可见字符分在引号之外,此时matlab会报错:    文本字符无效。请检查不受支持的符号、不可见的字符或非 ASCII 字符的粘贴。    这种情况还是比较友好的,只是告诉了产生错误的具体原因

    在这里插入图片描述
       产生以上错误的操作如下所示:
    在这里插入图片描述

       此时,若先写需要的 " " ,然后往引号里粘贴复制的路径,则大概率会将D左边的不可见字符分在引号之内,此时matlab不会给出存在不可见字符的报错提示,因为引号内的内容当字符处理,不可见字符也是字符,所以不会给出错误提示,这是一个很大的坑!!!!!,我做了很多次实验,花费了俩小时才把这个隐秘的大坑找出来。

       然后再使用imread读取该图片时便会报错找不到文件/路径,真正的原因是存在不可见字符。。。。。导致路径识别错误。。。。。

    在这里插入图片描述

       产生以上错误的操作如下所示:

    在这里插入图片描述
       总结一下,若不可见字符被分在了引号之外,则报上面介绍的第一种错误,若不可见字符被分在了引号之内,则会报找不到文件的错误,解决方法就是按照上面介绍的方法,找到不可见字符的位置,然后删除不可见字符就可以了。

       此外,正向复制路径时,复制的路径一般不含有不可见字符,也就不会遇到以上因存在不可见字符导致的错误。演示如下:

    在这里插入图片描述

       在appdesigner中使用imread报错的原因及解决方法跟在命令行窗口一样,不再介绍。

  • 相关阅读:
    王道数据结构——栈在括号匹配中的应用
    企业电子招标采购系统源码之从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理
    DAB-DETR源码最全讲解
    ROS实现话题的发布与订阅
    UML图记忆技巧
    索尼 toio™ 应用创意开发征文|探索创新的玩乐世界——索尼 toio™
    大三学生HTML期末作业,网页制作作业——HTML+CSS+JavaScript饮品饮料茶(7页)
    Linux实时查看Java接口数据
    matlab回归学习
    P1182 数列分段 Section II 题解
  • 原文地址:https://blog.csdn.net/qq_44339029/article/details/127136353