用户在MATLAB中定义的函数

2 matlab image

我需要为imread图像编写一个函数并将其转换为灰度.它是否正确:

function trial()

O = imread('m1.png');
G = rgb2gray(O);
imwrite(G,'s','jpg');

end
Run Code Online (Sandbox Code Playgroud)

还是有更好的方法来写它?

gno*_*ice 5

你是在正确的轨道,但我同意,你应该添加输入参数,使其更普遍可用.每次要使用时都必须更改硬编码文件名并不理想.

如果此功能是为其他人设计的,或者即使只是为了您自己,我建议添加H1行,帮助文本和输入类型检查.例如:

function make_grayscale(inFile,outFile)
% MAKE_GRAYSCALE Converts an RGB image to grayscale
%    MAKE_GRAYSCALE(INFILE,OUTFILE) converts a truecolor RGB image stored in
% INFILE to a grayscale intensity image and writes it to OUTFILE.

  if ~ischar(inFile) || ~ischar(outFile),
    error('File name arguments must be character strings!');
  end

  ...(rest of function)...

end
Run Code Online (Sandbox Code Playgroud)

很多人低估了这些东西的用处.当你将一个函数放置几个月时,很容易忘记你是如何编写它来表现的.帮助提醒您(或其他人)如何使用它,错误检查有助于在您做错时提供有用的信息.另外,有一个描述性的H1线为您提供了使用的选项LOOKFOR发现你可能已经忘记的名字功能.