我正在尝试使用代码来帮助我阅读原始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文件的路径,但它仍然无法正常工作。有谁知道修复此错误的方法?谢谢。
答案 0 :(得分:4)
Matlab无法识别您当前工作路径中的功能。您需要将该函数保存在名为readrawimage.m
的m文件中,并确保MATLAB可以访问该函数。
您可以通过以下几种方式实现:
导航到包含您的函数的目录,然后按照调用的方式运行它。
通过调用pathtool()
或者通过调用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');