在MATLAB中读取原始IMG文件

时间:2015-03-11 12:50:35

标签: matlab

我正在尝试使用代码来帮助我阅读原始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文件的路径,但它仍然无法正常工作。有谁知道修复此错误的方法?谢谢。

1 个答案:

答案 0 :(得分:4)

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');