【问题标题】:Reading a raw IMG file in MATLAB在 MATLAB 中读取原始 IMG 文件
【发布时间】:2015-03-11 12:50:34
【问题描述】:

我正在尝试使用代码来帮助我读取原始 IMG 文件,但出现错误。 我的代码如下:

function image = readrawimage('/Users/Adrian/Documents/MATLAB/HiWinGS wind MATLAB 09_30_13/00006010.img')
fid = fopen('/Users/Adrian/Documents/MATLAB/HiWinGS wind MATLAB 09_30_13/00006010.img');
image = fread(fid, 2048*2048, 'uint8=>uint8');
fclose(fid);
image = reshape(image, 2048, 2048);

我收到以下错误:

Undefined function 'readrawimage' for input arguments of type 'char'.

我试图更改我的 IMG 文件的路径,但它仍然不起作用。有谁知道解决此错误的方法?谢谢你。

【问题讨论】:

    标签: matlab


    【解决方案1】:

    Matlab 在其当前工作路径中无法识别您的函数。您需要将函数保存在名为readrawimage.m 的m 文件中,并确保MATLAB 可以访问该函数。

    您可以通过多种方式做到这一点:

    • 导航到包含您的函数的目录,然后按调用的方式运行它。

    • 通过调用 pathtool() 以交互方式将目录添加到 MATLAB 的搜索路径

    • 或者通过调用addpath('your directory')以编程方式添加它

    有关查看和更改搜索路径的更多信息,请参阅 http://www.mathworks.com/help/matlab/search-path.html

    此处描述了 MATLAB 搜索路径:http://www.mathworks.com/help/matlab/matlab_env/what-is-the-matlab-search-path.html


    我还想补充一点,您的函数定义不正确。您需要在函数声明中声明输入参数,然后在函数调用中定义该参数。因此,您的函数应该定义并保存在 .m 文件中:

    function img = readrawimage(filePath)
      fid = fopen(filePath);
      image = fread(fid, 2048*2048, 'uint8=>uint8');
      fclose(fid);
      image = reshape(image, 2048, 2048);
    end
    

    您应该在命令行中调用该函数,或者通过以下方式调用另一个脚本或函数:

    img = readrawimage('your path'); 
    

    【讨论】:

    • 非常感谢。我只需要将函数保存为一个我错过的 m 文件。现在可以了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多